Dotclear


Ignore:
Timestamp:
12/10/13 09:00:09 (12 years ago)
Author:
Dsls
Branch:
twig
Parents:
2468:d7fda5a0bd39 (diff), 2608:3365c9df16a6 (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

Location:
inc/admin
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • inc/admin/class.dc.menu.php

    r2566 r2593  
    44# This file is part of Dotclear 2. 
    55# 
    6 # Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear 
     6# Copyright (c) 2003-2011 Olivier Meunier & Association Dotclear 
    77# Licensed under the GPL version 2.0 license. 
    88# See LICENSE file or 
     
    1414class dcMenu 
    1515{ 
     16     private $items; 
    1617     private $id; 
    1718     public $title; 
    18  
    19      public function __construct($id,$title,$itemSpace='') 
     19     public $separator; 
     20      
     21     public function __construct($id,$title,$separator='') 
    2022     { 
    2123          $this->id = $id; 
    2224          $this->title = $title; 
    23           $this->itemSpace = $itemSpace; 
     25          $this->separator = $separator; 
    2426          $this->items = array(); 
    2527     } 
    26  
     28      
     29     public function getID() 
     30     { 
     31          return $this->id; 
     32     } 
     33      
     34     public function getTitle() 
     35     { 
     36          return $this->title; 
     37     } 
     38      
     39     public function getSeparator() 
     40     { 
     41          return $this->separator; 
     42     } 
     43      
     44     public function getItems() 
     45     { 
     46          return $this->items; 
     47     } 
     48      
    2749     public function addItem($title,$url,$img,$active,$show=true,$id=null,$class=null) 
    2850     { 
     
    3153          } 
    3254     } 
    33  
     55      
    3456     public function prependItem($title,$url,$img,$active,$show=true,$id=null,$class=null) 
    3557     { 
     
    3860          } 
    3961     } 
    40  
    41      public function draw() 
    42      { 
    43           if (count($this->items) == 0) { 
    44                return ''; 
    45           } 
    46  
    47           $res = 
    48           '<div id="'.$this->id.'">'. 
    49           ($this->title ? '<h3>'.$this->title.'</h3>' : ''). 
    50           '<ul>'."\n"; 
    51  
    52           for ($i=0; $i<count($this->items); $i++) 
    53           { 
    54                if ($i+1 < count($this->items) && $this->itemSpace != '') { 
    55                     $res .= preg_replace('|</li>$|',$this->itemSpace.'</li>',$this->items[$i]); 
    56                     $res .= "\n"; 
    57                } else { 
    58                     $res .= $this->items[$i]."\n"; 
    59                } 
    60           } 
    61  
    62           $res .= '</ul></div>'."\n"; 
    63  
    64           return $res; 
    65      } 
    66  
     62      
    6763     protected function itemDef($title,$url,$img,$active,$id=null,$class=null) 
    6864     { 
     
    7470               $ahtml = ''; 
    7571          } 
    76  
    77           $img = dc_admin_icon_url($img); 
    78  
     72           
     73          return array( 
     74               'title' => $title, 
     75               'link' => $link, 
     76               'ahtml' => $ahtml, 
     77               'img' => dc_admin_icon_url($img), 
     78               'active' => (boolean) $active, 
     79               'id' => $id, 
     80               'class' => $class 
     81          ); 
     82     } 
     83      
     84     /** 
     85     @deprecated Use Template engine instead 
     86     */ 
     87     public function draw() 
     88     { 
     89          if (count($this->items) == 0) { 
     90               return ''; 
     91          } 
     92           
     93          $res = 
     94          '<div id="'.$this->id.'">'. 
     95          ($this->title ? '<h3>'.$this->title.'</h3>' : ''). 
     96          '<ul>'."\n"; 
     97           
     98          for ($i=0; $i<count($this->items); $i++) 
     99          { 
     100               if ($i+1 < count($this->items) && $this->separator != '') { 
     101                    $res .= preg_replace('|</li>$|',$this->separator.'</li>',$this->drawItem($this->items[$i])); 
     102                    $res .= "\n"; 
     103               } else { 
     104                    $res .= $this->drawItem($this->items[$i])."\n"; 
     105               } 
     106          } 
     107           
     108          $res .= '</ul></div>'."\n"; 
     109           
     110          return $res; 
     111     } 
     112      
     113     /** 
     114     @deprecated Use Template engine instead 
     115     */ 
     116     protected function drawItem($item) 
     117     { 
    79118          return 
    80           '<li'.(($active || $class) ? ' class="'.(($active) ? 'active ' : '').(($class) ? $class : '').'"' : ''). 
    81           (($id) ? ' id="'.$id.'"' : ''). 
    82           (($img) ? ' style="background-image: url('.$img.');"' : ''). 
     119          '<li'.(($item['active'] || $item['class']) ? ' class="'.(($item['active']) ? 'active ' : '').(($item['class']) ? $item['class'] : '').'"' : ''). 
     120          (($item['id']) ? ' id="'.$item['id'].'"' : ''). 
     121          (($item['img']) ? ' style="background-image: url('.$item['img'].');"' : ''). 
    83122          '>'. 
    84  
    85           '<a href="'.$link.'"'.$ahtml.'>'.$title.'</a></li>'."\n"; 
     123           
     124          '<a href="'.$item['link'].'"'.$item['ahtml'].'>'.$item['title'].'</a></li>'."\n"; 
    86125     } 
    87126} 
     127?> 
  • inc/admin/lib.dc.page.php

    r2468 r2609  
    1616class dcPage 
    1717{ 
    18      private static $loaded_js=array(); 
     18     private static $loaded_js = array(); 
    1919     private static $N_TYPES = array( 
    2020          "success" => "success",  
     
    2929          global $core; 
    3030 
    31           if ($core->blog && $core->auth->check($permissions,$core->blog->id)) 
    32           { 
     31          if ($core->blog && $core->auth->check($permissions,$core->blog->id)) { 
    3332               return; 
    3433          } 
     
    319318          'xml:lang="'.$core->auth->getInfo('user_lang').'" '. 
    320319          'lang="'.$core->auth->getInfo('user_lang').'">'."\n". 
    321           '<meta name="viewport" content="width=device-width, initial-scale=1.0" />'."\n". 
    322320          "<head>\n". 
     321          '  <meta name="viewport" content="width=device-width, initial-scale=1.0" />'."\n". 
    323322          '  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'."\n". 
    324323          '  <title>'.$title.' - '.html::escapeHTML($core->blog->name).' - '.html::escapeHTML(DC_VENDOR_NAME).' - '.DC_VERSION.'</title>'."\n". 
     
    659658          self::jsVar('dotclear.msg.confirm_delete_media', 
    660659               __('Are you sure you want to remove media "%s"?')). 
     660          self::jsVar('dotclear.msg.confirm_delete_directory', 
     661               __('Are you sure you want to remove directory "%s"?')). 
    661662          self::jsVar('dotclear.msg.confirm_extract_current', 
    662663               __('Are you sure you want to extract archive in current directory?')). 
     
    667668          self::jsVar('dotclear.msg.confirm_delete_plugin', 
    668669               __('Are you sure you want to delete "%s" plugin?')). 
     670          self::jsVar('dotclear.msg.confirm_delete_plugins', 
     671               __('Are you sure you want to delete selected plugins?')). 
    669672          self::jsVar('dotclear.msg.use_this_theme', 
    670673               __('Use this theme')). 
     
    673676          self::jsVar('dotclear.msg.confirm_delete_theme', 
    674677               __('Are you sure you want to delete "%s" theme?')). 
     678          self::jsVar('dotclear.msg.confirm_delete_themes', 
     679               __('Are you sure you want to delete selected themes?')). 
    675680          self::jsVar('dotclear.msg.confirm_delete_backup', 
    676681               __('Are you sure you want to delete this backup?')). 
     682          self::jsVar('dotclear.msg.confirm_revert_backup', 
     683               __('Are you sure you want to revert to this backup?')). 
    677684          self::jsVar('dotclear.msg.zip_file_content', 
    678685               __('Zip file content')). 
     
    894901 
    895902     "jsToolBar.prototype.elements.img_select.title = '".html::escapeJS(__('Media chooser'))."'; ". 
    896      "jsToolBar.prototype.elements.post_link.title = '".html::escapeJS(__('Link to an entry'))."'; "; 
     903          "jsToolBar.prototype.elements.post_link.title = '".html::escapeJS(__('Link to an entry'))."'; ". 
     904 
     905          "jsToolBar.prototype.elements.removeFormat.title = '".html::escapeJS(__('Remove text formating'))."'; "; 
    897906 
    898907     if (!$GLOBALS['core']->auth->check('media,media_admin',$GLOBALS['core']->blog->id)) { 
  • inc/admin/lib.dc.page.php

    r2513 r2609  
    1818     private static $loaded_js = array(); 
    1919     private static $N_TYPES = array( 
    20           "success" => "success", 
    21           "warning" => "warning-msg", 
    22           "error" => "error", 
    23           "message" => "message", 
     20          "success" => "success",  
     21          "warning" => "warning-msg",  
     22          "error" => "error",  
     23          "message" => "message",  
    2424          "static" => "static-msg"); 
    2525 
     
    104104 
    105105          self::jsLoadIE7(). 
    106           '  <link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />'."\n"; 
     106          '    <link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />'."\n"; 
    107107          if (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl') { 
    108108               echo 
    109                '  <link rel="stylesheet" href="style/default-rtl.css" type="text/css" media="screen" />'."\n"; 
     109               '    <link rel="stylesheet" href="style/default-rtl.css" type="text/css" media="screen" />'."\n"; 
    110110          } 
    111111 
     
    113113          $user_ui_hide_std_favicon = $core->auth->user_prefs->interface->hide_std_favicon; 
    114114          if (!$user_ui_hide_std_favicon) { 
    115                echo 
     115               echo  
    116116               '<link rel="icon" type="image/png" href="images/favicon96-login.png" />'. 
    117117               '<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />'; 
    118118          } 
     119 
    119120          echo 
    120121          self::jsCommon(). 
     
    212213               $notifications = array(); 
    213214          } 
    214  
     215           
    215216          $n = array_merge($options,array('class' => $class,'ts' => time(), 'text' => $message)); 
    216217          if ($type != "static") { 
     
    326327 
    327328          self::jsLoadIE7(). 
    328           '    <link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />'."\n"; 
     329          '    <link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />'."\n"; 
    329330          if (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl') { 
    330331               echo 
    331                '    <link rel="stylesheet" href="style/default-rtl.css" type="text/css" media="screen" />'."\n"; 
     332               '    <link rel="stylesheet" href="style/default-rtl.css" type="text/css" media="screen" />'."\n"; 
    332333          } 
    333334 
     
    565566                    "</script>\n"; 
    566567     } 
    567  
     568      
    568569     public static function jsCommon() 
    569570     { 
     
    590591          "//<![CDATA[\n". 
    591592          self::jsVar('dotclear.nonce',$GLOBALS['core']->getNonce()). 
     593 
    592594          self::jsVar('dotclear.img_plus_src','images/expand.png'). 
    593595          self::jsVar('dotclear.img_plus_alt',__('uncover')). 
     
    709711          self::jsVar('dotclear.msg.module_tags', 
    710712               __('Tags:')). 
    711                "\n//]]>\n". 
     713          "\n//]]>\n". 
    712714          "</script>\n"; 
    713715     } 
     
    771773     public static function jsModal() 
    772774     { 
    773           return 
    774           '<link rel="stylesheet" type="text/css" href="style/modal/modal.css" />'."\n". 
    775           self::jsLoad('js/jquery/jquery.modal.js'). 
    776           '<script type="text/javascript">'."\n". 
    777           "//<![CDATA[\n". 
    778           self::jsVar('$.modal.prototype.params.loader_img','style/modal/loader.gif'). 
    779           self::jsVar('$.modal.prototype.params.close_img','style/modal/close.png'). 
    780           "\n//]]>\n". 
    781           "</script>\n"; 
     775     return 
     776     '<link rel="stylesheet" type="text/css" href="style/modal/modal.css" />'."\n". 
     777     self::jsLoad('js/jquery/jquery.modal.js'). 
     778     '<script type="text/javascript">'."\n". 
     779     "//<![CDATA[\n". 
     780     self::jsVar('$.modal.prototype.params.loader_img','style/modal/loader.gif'). 
     781     self::jsVar('$.modal.prototype.params.close_img','style/modal/close.png'). 
     782     "\n//]]>\n". 
     783     "</script>\n"; 
    782784     } 
    783785 
    784786     public static function jsColorPicker() 
    785787     { 
    786           return 
    787           '<link rel="stylesheet" type="text/css" href="style/farbtastic/farbtastic.css" />'."\n". 
    788           self::jsLoad('js/jquery/jquery.farbtastic.js'). 
    789           self::jsLoad('js/color-picker.js'); 
     788     return 
     789     '<link rel="stylesheet" type="text/css" href="style/farbtastic/farbtastic.css" />'."\n". 
     790     self::jsLoad('js/jquery/jquery.farbtastic.js'). 
     791     self::jsLoad('js/color-picker.js'); 
    790792     } 
    791793 
    792794     public static function jsDatePicker() 
    793795     { 
    794           return 
    795           '<link rel="stylesheet" type="text/css" href="style/date-picker.css" />'."\n". 
    796           self::jsLoad('js/date-picker.js'). 
    797           '<script type="text/javascript">'."\n". 
    798           "//<![CDATA[\n". 
    799  
    800           "datePicker.prototype.months[0] = '".html::escapeJS(__('January'))."'; ". 
    801           "datePicker.prototype.months[1] = '".html::escapeJS(__('February'))."'; ". 
    802           "datePicker.prototype.months[2] = '".html::escapeJS(__('March'))."'; ". 
    803           "datePicker.prototype.months[3] = '".html::escapeJS(__('April'))."'; ". 
    804           "datePicker.prototype.months[4] = '".html::escapeJS(__('May'))."'; ". 
    805           "datePicker.prototype.months[5] = '".html::escapeJS(__('June'))."'; ". 
    806           "datePicker.prototype.months[6] = '".html::escapeJS(__('July'))."'; ". 
    807           "datePicker.prototype.months[7] = '".html::escapeJS(__('August'))."'; ". 
    808           "datePicker.prototype.months[8] = '".html::escapeJS(__('September'))."'; ". 
    809           "datePicker.prototype.months[9] = '".html::escapeJS(__('October'))."'; ". 
    810           "datePicker.prototype.months[10] = '".html::escapeJS(__('November'))."'; ". 
    811           "datePicker.prototype.months[11] = '".html::escapeJS(__('December'))."'; ". 
    812  
    813           "datePicker.prototype.days[0] = '".html::escapeJS(__('Monday'))."'; ". 
    814           "datePicker.prototype.days[1] = '".html::escapeJS(__('Tuesday'))."'; ". 
    815           "datePicker.prototype.days[2] = '".html::escapeJS(__('Wednesday'))."'; ". 
    816           "datePicker.prototype.days[3] = '".html::escapeJS(__('Thursday'))."'; ". 
    817           "datePicker.prototype.days[4] = '".html::escapeJS(__('Friday'))."'; ". 
    818           "datePicker.prototype.days[5] = '".html::escapeJS(__('Saturday'))."'; ". 
    819           "datePicker.prototype.days[6] = '".html::escapeJS(__('Sunday'))."'; ". 
    820  
    821           "datePicker.prototype.img_src = 'images/date-picker.png'; ". 
    822  
    823           "datePicker.prototype.close_msg = '".html::escapeJS(__('close'))."'; ". 
    824           "datePicker.prototype.now_msg = '".html::escapeJS(__('now'))."'; ". 
    825  
    826           "\n//]]>\n". 
    827           "</script>\n"; 
     796     return 
     797     '<link rel="stylesheet" type="text/css" href="style/date-picker.css" />'."\n". 
     798     self::jsLoad('js/date-picker.js'). 
     799     '<script type="text/javascript">'."\n". 
     800     "//<![CDATA[\n". 
     801 
     802     "datePicker.prototype.months[0] = '".html::escapeJS(__('January'))."'; ". 
     803     "datePicker.prototype.months[1] = '".html::escapeJS(__('February'))."'; ". 
     804     "datePicker.prototype.months[2] = '".html::escapeJS(__('March'))."'; ". 
     805     "datePicker.prototype.months[3] = '".html::escapeJS(__('April'))."'; ". 
     806     "datePicker.prototype.months[4] = '".html::escapeJS(__('May'))."'; ". 
     807     "datePicker.prototype.months[5] = '".html::escapeJS(__('June'))."'; ". 
     808     "datePicker.prototype.months[6] = '".html::escapeJS(__('July'))."'; ". 
     809     "datePicker.prototype.months[7] = '".html::escapeJS(__('August'))."'; ". 
     810     "datePicker.prototype.months[8] = '".html::escapeJS(__('September'))."'; ". 
     811     "datePicker.prototype.months[9] = '".html::escapeJS(__('October'))."'; ". 
     812     "datePicker.prototype.months[10] = '".html::escapeJS(__('November'))."'; ". 
     813     "datePicker.prototype.months[11] = '".html::escapeJS(__('December'))."'; ". 
     814 
     815     "datePicker.prototype.days[0] = '".html::escapeJS(__('Monday'))."'; ". 
     816     "datePicker.prototype.days[1] = '".html::escapeJS(__('Tuesday'))."'; ". 
     817     "datePicker.prototype.days[2] = '".html::escapeJS(__('Wednesday'))."'; ". 
     818     "datePicker.prototype.days[3] = '".html::escapeJS(__('Thursday'))."'; ". 
     819     "datePicker.prototype.days[4] = '".html::escapeJS(__('Friday'))."'; ". 
     820     "datePicker.prototype.days[5] = '".html::escapeJS(__('Saturday'))."'; ". 
     821     "datePicker.prototype.days[6] = '".html::escapeJS(__('Sunday'))."'; ". 
     822 
     823     "datePicker.prototype.img_src = 'images/date-picker.png'; ". 
     824 
     825     "datePicker.prototype.close_msg = '".html::escapeJS(__('close'))."'; ". 
     826     "datePicker.prototype.now_msg = '".html::escapeJS(__('now'))."'; ". 
     827 
     828     "\n//]]>\n". 
     829     "</script>\n"; 
    828830     } 
    829831 
    830832     public static function jsToolBar() 
    831833     { 
    832           $res = 
    833           '<link rel="stylesheet" type="text/css" href="style/jsToolBar/jsToolBar.css" />'. 
    834           '<script type="text/javascript" src="js/jsToolBar/jsToolBar.js"></script>'; 
    835  
    836           if (isset($GLOBALS['core']->auth) && $GLOBALS['core']->auth->getOption('enable_wysiwyg')) { 
    837                $res .= '<script type="text/javascript" src="js/jsToolBar/jsToolBar.wysiwyg.js"></script>'; 
    838           } 
    839  
    840           $res .= 
    841           '<script type="text/javascript" src="js/jsToolBar/jsToolBar.dotclear.js"></script>'. 
    842           '<script type="text/javascript">'."\n". 
    843           "//<![CDATA[\n". 
    844           "jsToolBar.prototype.dialog_url = 'popup.php'; ". 
    845           "jsToolBar.prototype.iframe_css = '". 
    846           'body{'. 
    847           'font: 12px "DejaVu Sans","Lucida Grande","Lucida Sans Unicode",Arial,sans-serif;'. 
    848           'color : #000;'. 
    849           'background: #f9f9f9;'. 
    850           'margin: 0;'. 
    851           'padding : 2px;'. 
    852           'border: none;'. 
    853           (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl' ? 'direction:rtl;' : ''). 
    854           '}'. 
    855           'pre, code, kbd, samp {'. 
    856           'font-family:"Courier New",Courier,monospace;'. 
    857           'font-size : 1.1em;'. 
    858           '}'. 
    859           'code {'. 
    860           'color : #666;'. 
    861           'font-weight : bold;'. 
    862           '}'. 
    863           'body > p:first-child {'. 
    864           'margin-top: 0;'. 
    865           '}'. 
    866           "'; ". 
    867           "jsToolBar.prototype.base_url = '".html::escapeJS($GLOBALS['core']->blog->host)."'; ". 
    868           "jsToolBar.prototype.switcher_visual_title = '".html::escapeJS(__('visual'))."'; ". 
    869           "jsToolBar.prototype.switcher_source_title = '".html::escapeJS(__('source'))."'; ". 
    870           "jsToolBar.prototype.legend_msg = '". 
    871           html::escapeJS(__('You can use the following shortcuts to format your text.'))."'; ". 
    872           "jsToolBar.prototype.elements.blocks.options.none = '".html::escapeJS(__('-- none --'))."'; ". 
    873           "jsToolBar.prototype.elements.blocks.options.nonebis = '".html::escapeJS(__('-- block format --'))."'; ". 
    874           "jsToolBar.prototype.elements.blocks.options.p = '".html::escapeJS(__('Paragraph'))."'; ". 
    875           "jsToolBar.prototype.elements.blocks.options.h1 = '".html::escapeJS(__('Level 1 header'))."'; ". 
    876           "jsToolBar.prototype.elements.blocks.options.h2 = '".html::escapeJS(__('Level 2 header'))."'; ". 
    877           "jsToolBar.prototype.elements.blocks.options.h3 = '".html::escapeJS(__('Level 3 header'))."'; ". 
    878           "jsToolBar.prototype.elements.blocks.options.h4 = '".html::escapeJS(__('Level 4 header'))."'; ". 
    879           "jsToolBar.prototype.elements.blocks.options.h5 = '".html::escapeJS(__('Level 5 header'))."'; ". 
    880           "jsToolBar.prototype.elements.blocks.options.h6 = '".html::escapeJS(__('Level 6 header'))."'; ". 
    881           "jsToolBar.prototype.elements.strong.title = '".html::escapeJS(__('Strong emphasis'))."'; ". 
    882           "jsToolBar.prototype.elements.em.title = '".html::escapeJS(__('Emphasis'))."'; ". 
    883           "jsToolBar.prototype.elements.ins.title = '".html::escapeJS(__('Inserted'))."'; ". 
    884           "jsToolBar.prototype.elements.del.title = '".html::escapeJS(__('Deleted'))."'; ". 
    885           "jsToolBar.prototype.elements.quote.title = '".html::escapeJS(__('Inline quote'))."'; ". 
    886           "jsToolBar.prototype.elements.code.title = '".html::escapeJS(__('Code'))."'; ". 
    887           "jsToolBar.prototype.elements.br.title = '".html::escapeJS(__('Line break'))."'; ". 
    888           "jsToolBar.prototype.elements.blockquote.title = '".html::escapeJS(__('Blockquote'))."'; ". 
    889           "jsToolBar.prototype.elements.pre.title = '".html::escapeJS(__('Preformated text'))."'; ". 
    890           "jsToolBar.prototype.elements.ul.title = '".html::escapeJS(__('Unordered list'))."'; ". 
    891           "jsToolBar.prototype.elements.ol.title = '".html::escapeJS(__('Ordered list'))."'; ". 
    892  
    893           "jsToolBar.prototype.elements.link.title = '".html::escapeJS(__('Link'))."'; ". 
    894           "jsToolBar.prototype.elements.link.href_prompt = '".html::escapeJS(__('URL?'))."'; ". 
    895           "jsToolBar.prototype.elements.link.hreflang_prompt = '".html::escapeJS(__('Language?'))."'; ". 
    896  
    897           "jsToolBar.prototype.elements.img.title = '".html::escapeJS(__('External image'))."'; ". 
    898           "jsToolBar.prototype.elements.img.src_prompt = '".html::escapeJS(__('URL?'))."'; ". 
    899  
    900           "jsToolBar.prototype.elements.img_select.title = '".html::escapeJS(__('Media chooser'))."'; ". 
     834     $res = 
     835     '<link rel="stylesheet" type="text/css" href="style/jsToolBar/jsToolBar.css" />'. 
     836     '<script type="text/javascript" src="js/jsToolBar/jsToolBar.js"></script>'; 
     837 
     838     if (isset($GLOBALS['core']->auth) && $GLOBALS['core']->auth->getOption('enable_wysiwyg')) { 
     839          $res .= '<script type="text/javascript" src="js/jsToolBar/jsToolBar.wysiwyg.js"></script>'; 
     840     } 
     841 
     842     $res .= 
     843     '<script type="text/javascript" src="js/jsToolBar/jsToolBar.dotclear.js"></script>'. 
     844     '<script type="text/javascript">'."\n". 
     845     "//<![CDATA[\n". 
     846     "jsToolBar.prototype.dialog_url = 'popup.php'; ". 
     847     "jsToolBar.prototype.iframe_css = '". 
     848     'body{'. 
     849     'font: 12px "DejaVu Sans","Lucida Grande","Lucida Sans Unicode",Arial,sans-serif;'. 
     850     'color : #000;'. 
     851     'background: #f9f9f9;'. 
     852     'margin: 0;'. 
     853     'padding : 2px;'. 
     854     'border: none;'. 
     855     (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl' ? 'direction:rtl;' : ''). 
     856     '}'. 
     857     'pre, code, kbd, samp {'. 
     858     'font-family:"Courier New",Courier,monospace;'. 
     859     'font-size : 1.1em;'. 
     860     '}'. 
     861     'code {'. 
     862     'color : #666;'. 
     863     'font-weight : bold;'. 
     864     '}'. 
     865     'body > p:first-child {'. 
     866     'margin-top: 0;'. 
     867     '}'. 
     868     "'; ". 
     869     "jsToolBar.prototype.base_url = '".html::escapeJS($GLOBALS['core']->blog->host)."'; ". 
     870     "jsToolBar.prototype.switcher_visual_title = '".html::escapeJS(__('visual'))."'; ". 
     871     "jsToolBar.prototype.switcher_source_title = '".html::escapeJS(__('source'))."'; ". 
     872     "jsToolBar.prototype.legend_msg = '". 
     873     html::escapeJS(__('You can use the following shortcuts to format your text.'))."'; ". 
     874     "jsToolBar.prototype.elements.blocks.options.none = '".html::escapeJS(__('-- none --'))."'; ". 
     875     "jsToolBar.prototype.elements.blocks.options.nonebis = '".html::escapeJS(__('-- block format --'))."'; ". 
     876     "jsToolBar.prototype.elements.blocks.options.p = '".html::escapeJS(__('Paragraph'))."'; ". 
     877     "jsToolBar.prototype.elements.blocks.options.h1 = '".html::escapeJS(__('Level 1 header'))."'; ". 
     878     "jsToolBar.prototype.elements.blocks.options.h2 = '".html::escapeJS(__('Level 2 header'))."'; ". 
     879     "jsToolBar.prototype.elements.blocks.options.h3 = '".html::escapeJS(__('Level 3 header'))."'; ". 
     880     "jsToolBar.prototype.elements.blocks.options.h4 = '".html::escapeJS(__('Level 4 header'))."'; ". 
     881     "jsToolBar.prototype.elements.blocks.options.h5 = '".html::escapeJS(__('Level 5 header'))."'; ". 
     882     "jsToolBar.prototype.elements.blocks.options.h6 = '".html::escapeJS(__('Level 6 header'))."'; ". 
     883     "jsToolBar.prototype.elements.strong.title = '".html::escapeJS(__('Strong emphasis'))."'; ". 
     884     "jsToolBar.prototype.elements.em.title = '".html::escapeJS(__('Emphasis'))."'; ". 
     885     "jsToolBar.prototype.elements.ins.title = '".html::escapeJS(__('Inserted'))."'; ". 
     886     "jsToolBar.prototype.elements.del.title = '".html::escapeJS(__('Deleted'))."'; ". 
     887     "jsToolBar.prototype.elements.quote.title = '".html::escapeJS(__('Inline quote'))."'; ". 
     888     "jsToolBar.prototype.elements.code.title = '".html::escapeJS(__('Code'))."'; ". 
     889     "jsToolBar.prototype.elements.br.title = '".html::escapeJS(__('Line break'))."'; ". 
     890     "jsToolBar.prototype.elements.blockquote.title = '".html::escapeJS(__('Blockquote'))."'; ". 
     891     "jsToolBar.prototype.elements.pre.title = '".html::escapeJS(__('Preformated text'))."'; ". 
     892     "jsToolBar.prototype.elements.ul.title = '".html::escapeJS(__('Unordered list'))."'; ". 
     893     "jsToolBar.prototype.elements.ol.title = '".html::escapeJS(__('Ordered list'))."'; ". 
     894 
     895     "jsToolBar.prototype.elements.link.title = '".html::escapeJS(__('Link'))."'; ". 
     896     "jsToolBar.prototype.elements.link.href_prompt = '".html::escapeJS(__('URL?'))."'; ". 
     897     "jsToolBar.prototype.elements.link.hreflang_prompt = '".html::escapeJS(__('Language?'))."'; ". 
     898 
     899     "jsToolBar.prototype.elements.img.title = '".html::escapeJS(__('External image'))."'; ". 
     900     "jsToolBar.prototype.elements.img.src_prompt = '".html::escapeJS(__('URL?'))."'; ". 
     901 
     902     "jsToolBar.prototype.elements.img_select.title = '".html::escapeJS(__('Media chooser'))."'; ". 
    901903          "jsToolBar.prototype.elements.post_link.title = '".html::escapeJS(__('Link to an entry'))."'; ". 
    902904 
    903905          "jsToolBar.prototype.elements.removeFormat.title = '".html::escapeJS(__('Remove text formating'))."'; "; 
    904906 
    905           if (!$GLOBALS['core']->auth->check('media,media_admin',$GLOBALS['core']->blog->id)) { 
    906                $res .= "jsToolBar.prototype.elements.img_select.disabled = true;\n"; 
    907           } 
    908  
    909           $res .= 
    910           "\n//]]>\n". 
    911           "</script>\n"; 
    912  
    913           return $res; 
     907     if (!$GLOBALS['core']->auth->check('media,media_admin',$GLOBALS['core']->blog->id)) { 
     908          $res .= "jsToolBar.prototype.elements.img_select.disabled = true;\n"; 
     909     } 
     910 
     911     $res .= 
     912     "\n//]]>\n". 
     913     "</script>\n"; 
     914 
     915     return $res; 
    914916     } 
    915917 
    916918     public static function jsUpload($params=array(),$base_url=null) 
    917919     { 
    918           if (!$base_url) { 
    919                $base_url = path::clean(dirname(preg_replace('/(\?.*$)?/','',$_SERVER['REQUEST_URI']))).'/'; 
    920           } 
    921  
    922           $params = array_merge($params,array( 
    923                'sess_id='.session_id(), 
    924                'sess_uid='.$_SESSION['sess_browser_uid'], 
    925                'xd_check='.$GLOBALS['core']->getNonce() 
     920     if (!$base_url) { 
     921          $base_url = path::clean(dirname(preg_replace('/(\?.*$)?/','',$_SERVER['REQUEST_URI']))).'/'; 
     922     } 
     923 
     924     $params = array_merge($params,array( 
     925          'sess_id='.session_id(), 
     926          'sess_uid='.$_SESSION['sess_browser_uid'], 
     927          'xd_check='.$GLOBALS['core']->getNonce() 
    926928          )); 
    927929 
    928           return 
    929           '<script type="text/javascript">'."\n". 
    930           "//<![CDATA[\n". 
    931           "dotclear.jsUpload = {};\n". 
    932           "dotclear.jsUpload.msg = {};\n". 
    933           self::jsVar('dotclear.msg.enhanced_uploader_activate',__('Temporarily activate enhanced uploader')). 
    934           self::jsVar('dotclear.msg.enhanced_uploader_disable',__('Temporarily disable enhanced uploader')). 
    935           self::jsVar('dotclear.jsUpload.msg.limit_exceeded',__('Limit exceeded.')). 
    936           self::jsVar('dotclear.jsUpload.msg.size_limit_exceeded',__('File size exceeds allowed limit.')). 
    937           self::jsVar('dotclear.jsUpload.msg.canceled',__('Canceled.')). 
    938           self::jsVar('dotclear.jsUpload.msg.http_error',__('HTTP Error:')). 
    939           self::jsVar('dotclear.jsUpload.msg.error',__('Error:')). 
    940           self::jsVar('dotclear.jsUpload.msg.choose_file',__('Choose file')). 
    941           self::jsVar('dotclear.jsUpload.msg.choose_files',__('Choose files')). 
    942           self::jsVar('dotclear.jsUpload.msg.cancel',__('Cancel')). 
    943           self::jsVar('dotclear.jsUpload.msg.clean',__('Clean')). 
    944           self::jsVar('dotclear.jsUpload.msg.upload',__('Upload')). 
     930     return 
     931     '<script type="text/javascript">'."\n". 
     932     "//<![CDATA[\n". 
     933     "dotclear.jsUpload = {};\n". 
     934     "dotclear.jsUpload.msg = {};\n". 
     935     self::jsVar('dotclear.msg.enhanced_uploader_activate',__('Temporarily activate enhanced uploader')). 
     936     self::jsVar('dotclear.msg.enhanced_uploader_disable',__('Temporarily disable enhanced uploader')). 
     937     self::jsVar('dotclear.jsUpload.msg.limit_exceeded',__('Limit exceeded.')). 
     938     self::jsVar('dotclear.jsUpload.msg.size_limit_exceeded',__('File size exceeds allowed limit.')). 
     939     self::jsVar('dotclear.jsUpload.msg.canceled',__('Canceled.')). 
     940     self::jsVar('dotclear.jsUpload.msg.http_error',__('HTTP Error:')). 
     941     self::jsVar('dotclear.jsUpload.msg.error',__('Error:')). 
     942     self::jsVar('dotclear.jsUpload.msg.choose_file',__('Choose file')). 
     943     self::jsVar('dotclear.jsUpload.msg.choose_files',__('Choose files')). 
     944     self::jsVar('dotclear.jsUpload.msg.cancel',__('Cancel')). 
     945     self::jsVar('dotclear.jsUpload.msg.clean',__('Clean')). 
     946     self::jsVar('dotclear.jsUpload.msg.upload',__('Upload')). 
    945947          self::jsVar('dotclear.jsUpload.msg.send',__('Send')). 
    946948          self::jsVar('dotclear.jsUpload.msg.file_successfully_uploaded',__('File successfully uploaded.')). 
    947           self::jsVar('dotclear.jsUpload.msg.no_file_in_queue',__('No file in queue.')). 
    948           self::jsVar('dotclear.jsUpload.msg.file_in_queue',__('1 file in queue.')). 
    949           self::jsVar('dotclear.jsUpload.msg.files_in_queue',__('%d files in queue.')). 
    950           self::jsVar('dotclear.jsUpload.msg.queue_error',__('Queue error:')). 
    951           self::jsVar('dotclear.jsUpload.base_url',$base_url). 
    952           "\n//]]>\n". 
     949     self::jsVar('dotclear.jsUpload.msg.no_file_in_queue',__('No file in queue.')). 
     950     self::jsVar('dotclear.jsUpload.msg.file_in_queue',__('1 file in queue.')). 
     951     self::jsVar('dotclear.jsUpload.msg.files_in_queue',__('%d files in queue.')). 
     952     self::jsVar('dotclear.jsUpload.msg.queue_error',__('Queue error:')). 
     953     self::jsVar('dotclear.jsUpload.base_url',$base_url). 
     954     "\n//]]>\n". 
    953955          "</script>\n". 
    954956 
     
    967969     public static function jsToolMan() 
    968970     { 
    969           return 
    970           '<script type="text/javascript" src="js/tool-man/core.js"></script>'. 
    971           '<script type="text/javascript" src="js/tool-man/events.js"></script>'. 
    972           '<script type="text/javascript" src="js/tool-man/css.js"></script>'. 
    973           '<script type="text/javascript" src="js/tool-man/coordinates.js"></script>'. 
    974           '<script type="text/javascript" src="js/tool-man/drag.js"></script>'. 
    975           '<script type="text/javascript" src="js/tool-man/dragsort.js"></script>'. 
    976           '<script type="text/javascript" src="js/dragsort-tablerows.js"></script>'; 
     971     return 
     972     '<script type="text/javascript" src="js/tool-man/core.js"></script>'. 
     973     '<script type="text/javascript" src="js/tool-man/events.js"></script>'. 
     974     '<script type="text/javascript" src="js/tool-man/css.js"></script>'. 
     975     '<script type="text/javascript" src="js/tool-man/coordinates.js"></script>'. 
     976     '<script type="text/javascript" src="js/tool-man/drag.js"></script>'. 
     977     '<script type="text/javascript" src="js/tool-man/dragsort.js"></script>'. 
     978     '<script type="text/javascript" src="js/dragsort-tablerows.js"></script>'; 
    977979     } 
    978980 
    979981     public static function jsMetaEditor() 
    980982     { 
    981           return 
    982           '<script type="text/javascript" src="js/meta-editor.js"></script>'; 
     983     return 
     984     '<script type="text/javascript" src="js/meta-editor.js"></script>'; 
    983985     } 
    984986} 
  • inc/admin/prepend.php

    r2313 r2609  
    44# This file is part of Dotclear 2. 
    55# 
    6 # Copyright (c) 2003-2011 Olivier Meunier & Association Dotclear 
     6# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear 
    77# Licensed under the GPL version 2.0 license. 
    88# See LICENSE file or 
  • inc/admin/prepend.php

    r2566 r2609  
    2424function dc_load_locales() { 
    2525     global $_lang, $core; 
    26  
     26      
    2727     $_lang = $core->auth->getInfo('user_lang'); 
    2828     $_lang = preg_match('/^[a-z]{2}(-[a-z]{2})?$/',$_lang) ? $_lang : 'en'; 
    29  
     29      
    3030     l10n::lang($_lang); 
    3131     if (l10n::set(dirname(__FILE__).'/../../locales/'.$_lang.'/date') === false && $_lang != 'en') { 
     
    4040{ 
    4141     global $core; 
    42  
     42      
    4343     $core->auth->user_prefs->addWorkspace('interface'); 
    4444     $user_ui_iconset = @$core->auth->user_prefs->interface->iconset; 
    4545     if (($user_ui_iconset) && ($img)) { 
    4646          $icon = false; 
    47           if ((preg_match('/^images\/menu\/(.+)$/',$img,$m)) || 
     47          if ((preg_match('/^images\/menu\/(.+)$/',$img,$m)) ||  
    4848               (preg_match('/^index\.php\?pf=(.+)$/',$img,$m))) { 
    4949               if ($m[1]) { 
     
    6565     # We have session information in constants 
    6666     $_COOKIE[DC_SESSION_NAME] = DC_AUTH_SESS_ID; 
    67  
     67      
    6868     if (!$core->auth->checkSession(DC_AUTH_SESS_UID)) { 
    6969          throw new Exception('Invalid session data.'); 
    7070     } 
    71  
     71      
    7272     # Check nonce from POST requests 
    7373     if (!empty($_POST)) 
     
    7777          } 
    7878     } 
    79  
     79      
    8080     if (empty($_SESSION['sess_blog_id'])) { 
    8181          throw new Exception('Permission denied.'); 
    8282     } 
    83  
     83      
    8484     # Loading locales 
    8585     dc_load_locales(); 
    86  
     86      
    8787     $core->setBlog($_SESSION['sess_blog_id']); 
    8888     if (!$core->blog->id) { 
     
    100100               $p[3] = '/'; 
    101101               call_user_func_array('setcookie',$p); 
    102  
     102                
    103103               http::redirect('auth.php'); 
    104104          } 
     
    108108               ,20); 
    109109     } 
    110  
     110      
    111111     # Check nonce from POST requests 
    112112     if (!empty($_POST)) 
     
    119119          } 
    120120     } 
    121  
    122  
     121      
     122      
    123123     if (!empty($_REQUEST['switchblog']) 
    124124     && $core->auth->getPermissions($_REQUEST['switchblog']) !== false) 
     
    131131               unset($_SESSION['media_manager_page']); 
    132132          } 
    133  
     133           
    134134          # Removing switchblog from URL 
    135135          $redir = $_SERVER['REQUEST_URI']; 
     
    139139          exit; 
    140140     } 
    141  
     141      
    142142     # Check blog to use and log out if no result 
    143143     if (isset($_SESSION['sess_blog_id'])) 
     
    154154          } 
    155155     } 
    156  
     156      
    157157     # Loading locales 
    158158     dc_load_locales(); 
    159  
     159      
    160160     if (isset($_SESSION['sess_blog_id'])) { 
    161161          $core->setBlog($_SESSION['sess_blog_id']); 
     
    165165     } 
    166166 
    167 /* 
     167/*    
    168168     # Check add to my fav fired 
    169169     if (!empty($_REQUEST['add-favorite'])) { 
     
    184184     } 
    185185     unset($f); 
    186  
     186      
    187187     if (($hfiles = @scandir($locales_root.$_lang.'/help')) !== false) 
    188188     { 
     
    205205     # [] : Title, URL, small icon, large icon, permissions, id, class 
    206206     # NB : '*' in permissions means any, null means super admin only 
    207  
    208  
     207      
     208      
    209209     # Menus creation 
    210210     $_menu = new ArrayObject(); 
     
    224224     } 
    225225 
    226  
     226      
    227227     # Set menu titles 
    228  
     228      
    229229     $_menu['System']->title = __('System settings'); 
    230230     $_menu['Blog']->title = __('Blog'); 
     
    256256          preg_match('/post.php$/',$_SERVER['REQUEST_URI']), 
    257257          $core->auth->check('usage,contentadmin',$core->blog->id)); 
    258  
     258      
    259259     $_menu['System']->prependItem(__('Update'),'update.php','images/menu/update.png', 
    260260          preg_match('/update.php(\?.*)?$/',$_SERVER['REQUEST_URI']), 
     
    278278     } 
    279279} 
     280 
     281# Add admin default templates path 
     282$core->tpl->getLoader()->addPath(dirname(__FILE__).'/default-templates'); 
     283# Set admin context 
     284$_ctx = new dcAdminContext($core); 
     285$core->tpl->addExtension($_ctx); 
     286 
     287# --BEHAVIOR-- adminPrepend 
     288$core->callBehavior('adminPrepend',$core,$_ctx); 
     289?> 
Note: See TracChangeset for help on using the changeset viewer.

Sites map