Dotclear


Ignore:
Timestamp:
11/27/13 16:32:38 (12 years ago)
Author:
Dsls
Branch:
twig
Children:
2612:1537212bd291, 2613:014098e27ea0
Parents:
2468:d7fda5a0bd39 (diff), 2589:3d427735ca70 (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:

Fusion avec default

Location:
inc/admin
Files:
3 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 r2593  
    1616class dcPage 
    1717{ 
    18      private static $loaded_js=array(); 
     18     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 
     
    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          } 
     
    105104 
    106105          self::jsLoadIE7(). 
    107           '    <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"; 
    108107          if (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl') { 
    109108               echo 
    110                '    <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"; 
    111110          } 
    112111 
     
    114113          $user_ui_hide_std_favicon = $core->auth->user_prefs->interface->hide_std_favicon; 
    115114          if (!$user_ui_hide_std_favicon) { 
    116                echo  
     115               echo 
    117116               '<link rel="icon" type="image/png" href="images/favicon96-login.png" />'. 
    118117               '<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />'; 
    119118          } 
    120  
    121119          echo 
    122120          self::jsCommon(). 
     
    214212               $notifications = array(); 
    215213          } 
    216            
     214 
    217215          $n = array_merge($options,array('class' => $class,'ts' => time(), 'text' => $message)); 
    218216          if ($type != "static") { 
     
    319317          'xml:lang="'.$core->auth->getInfo('user_lang').'" '. 
    320318          'lang="'.$core->auth->getInfo('user_lang').'">'."\n". 
    321           '<meta name="viewport" content="width=device-width, initial-scale=1.0" />'."\n". 
    322319          "<head>\n". 
     320          '  <meta name="viewport" content="width=device-width, initial-scale=1.0" />'."\n". 
    323321          '  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'."\n". 
    324322          '  <title>'.$title.' - '.html::escapeHTML($core->blog->name).' - '.html::escapeHTML(DC_VENDOR_NAME).' - '.DC_VERSION.'</title>'."\n". 
     
    328326 
    329327          self::jsLoadIE7(). 
    330           '    <link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />'."\n"; 
     328          '    <link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />'."\n"; 
    331329          if (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl') { 
    332330               echo 
    333                '    <link rel="stylesheet" href="style/default-rtl.css" type="text/css" media="screen" />'."\n"; 
     331               '    <link rel="stylesheet" href="style/default-rtl.css" type="text/css" media="screen" />'."\n"; 
    334332          } 
    335333 
     
    567565                    "</script>\n"; 
    568566     } 
    569       
     567 
    570568     public static function jsCommon() 
    571569     { 
     
    592590          "//<![CDATA[\n". 
    593591          self::jsVar('dotclear.nonce',$GLOBALS['core']->getNonce()). 
    594  
    595592          self::jsVar('dotclear.img_plus_src','images/expand.png'). 
    596593          self::jsVar('dotclear.img_plus_alt',__('uncover')). 
     
    659656          self::jsVar('dotclear.msg.confirm_delete_media', 
    660657               __('Are you sure you want to remove media "%s"?')). 
     658          self::jsVar('dotclear.msg.confirm_delete_directory', 
     659               __('Are you sure you want to remove directory "%s"?')). 
    661660          self::jsVar('dotclear.msg.confirm_extract_current', 
    662661               __('Are you sure you want to extract archive in current directory?')). 
     
    667666          self::jsVar('dotclear.msg.confirm_delete_plugin', 
    668667               __('Are you sure you want to delete "%s" plugin?')). 
     668          self::jsVar('dotclear.msg.confirm_delete_plugins', 
     669               __('Are you sure you want to delete selected plugins?')). 
    669670          self::jsVar('dotclear.msg.use_this_theme', 
    670671               __('Use this theme')). 
     
    673674          self::jsVar('dotclear.msg.confirm_delete_theme', 
    674675               __('Are you sure you want to delete "%s" theme?')). 
     676          self::jsVar('dotclear.msg.confirm_delete_themes', 
     677               __('Are you sure you want to delete selected themes?')). 
    675678          self::jsVar('dotclear.msg.confirm_delete_backup', 
    676679               __('Are you sure you want to delete this backup?')). 
     680          self::jsVar('dotclear.msg.confirm_revert_backup', 
     681               __('Are you sure you want to revert to this backup?')). 
    677682          self::jsVar('dotclear.msg.zip_file_content', 
    678683               __('Zip file content')). 
     
    704709          self::jsVar('dotclear.msg.module_tags', 
    705710               __('Tags:')). 
    706           "\n//]]>\n". 
     711               "\n//]]>\n". 
    707712          "</script>\n"; 
    708713     } 
     
    766771     public static function jsModal() 
    767772     { 
    768      return 
    769      '<link rel="stylesheet" type="text/css" href="style/modal/modal.css" />'."\n". 
    770      self::jsLoad('js/jquery/jquery.modal.js'). 
    771      '<script type="text/javascript">'."\n". 
    772      "//<![CDATA[\n". 
    773      self::jsVar('$.modal.prototype.params.loader_img','style/modal/loader.gif'). 
    774      self::jsVar('$.modal.prototype.params.close_img','style/modal/close.png'). 
    775      "\n//]]>\n". 
    776      "</script>\n"; 
     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"; 
    777782     } 
    778783 
    779784     public static function jsColorPicker() 
    780785     { 
    781      return 
    782      '<link rel="stylesheet" type="text/css" href="style/farbtastic/farbtastic.css" />'."\n". 
    783      self::jsLoad('js/jquery/jquery.farbtastic.js'). 
    784      self::jsLoad('js/color-picker.js'); 
     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'); 
    785790     } 
    786791 
    787792     public static function jsDatePicker() 
    788793     { 
    789      return 
    790      '<link rel="stylesheet" type="text/css" href="style/date-picker.css" />'."\n". 
    791      self::jsLoad('js/date-picker.js'). 
    792      '<script type="text/javascript">'."\n". 
    793      "//<![CDATA[\n". 
    794  
    795      "datePicker.prototype.months[0] = '".html::escapeJS(__('January'))."'; ". 
    796      "datePicker.prototype.months[1] = '".html::escapeJS(__('February'))."'; ". 
    797      "datePicker.prototype.months[2] = '".html::escapeJS(__('March'))."'; ". 
    798      "datePicker.prototype.months[3] = '".html::escapeJS(__('April'))."'; ". 
    799      "datePicker.prototype.months[4] = '".html::escapeJS(__('May'))."'; ". 
    800      "datePicker.prototype.months[5] = '".html::escapeJS(__('June'))."'; ". 
    801      "datePicker.prototype.months[6] = '".html::escapeJS(__('July'))."'; ". 
    802      "datePicker.prototype.months[7] = '".html::escapeJS(__('August'))."'; ". 
    803      "datePicker.prototype.months[8] = '".html::escapeJS(__('September'))."'; ". 
    804      "datePicker.prototype.months[9] = '".html::escapeJS(__('October'))."'; ". 
    805      "datePicker.prototype.months[10] = '".html::escapeJS(__('November'))."'; ". 
    806      "datePicker.prototype.months[11] = '".html::escapeJS(__('December'))."'; ". 
    807  
    808      "datePicker.prototype.days[0] = '".html::escapeJS(__('Monday'))."'; ". 
    809      "datePicker.prototype.days[1] = '".html::escapeJS(__('Tuesday'))."'; ". 
    810      "datePicker.prototype.days[2] = '".html::escapeJS(__('Wednesday'))."'; ". 
    811      "datePicker.prototype.days[3] = '".html::escapeJS(__('Thursday'))."'; ". 
    812      "datePicker.prototype.days[4] = '".html::escapeJS(__('Friday'))."'; ". 
    813      "datePicker.prototype.days[5] = '".html::escapeJS(__('Saturday'))."'; ". 
    814      "datePicker.prototype.days[6] = '".html::escapeJS(__('Sunday'))."'; ". 
    815  
    816      "datePicker.prototype.img_src = 'images/date-picker.png'; ". 
    817  
    818      "datePicker.prototype.close_msg = '".html::escapeJS(__('close'))."'; ". 
    819      "datePicker.prototype.now_msg = '".html::escapeJS(__('now'))."'; ". 
    820  
    821      "\n//]]>\n". 
    822      "</script>\n"; 
     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"; 
    823828     } 
    824829 
    825830     public static function jsToolBar() 
    826831     { 
    827      $res = 
    828      '<link rel="stylesheet" type="text/css" href="style/jsToolBar/jsToolBar.css" />'. 
    829      '<script type="text/javascript" src="js/jsToolBar/jsToolBar.js"></script>'; 
    830  
    831      if (isset($GLOBALS['core']->auth) && $GLOBALS['core']->auth->getOption('enable_wysiwyg')) { 
    832           $res .= '<script type="text/javascript" src="js/jsToolBar/jsToolBar.wysiwyg.js"></script>'; 
    833      } 
    834  
    835      $res .= 
    836      '<script type="text/javascript" src="js/jsToolBar/jsToolBar.dotclear.js"></script>'. 
    837      '<script type="text/javascript">'."\n". 
    838      "//<![CDATA[\n". 
    839      "jsToolBar.prototype.dialog_url = 'popup.php'; ". 
    840      "jsToolBar.prototype.iframe_css = '". 
    841      'body{'. 
    842      'font: 12px "DejaVu Sans","Lucida Grande","Lucida Sans Unicode",Arial,sans-serif;'. 
    843      'color : #000;'. 
    844      'background: #f9f9f9;'. 
    845      'margin: 0;'. 
    846      'padding : 2px;'. 
    847      'border: none;'. 
    848      (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl' ? 'direction:rtl;' : ''). 
    849      '}'. 
    850      'pre, code, kbd, samp {'. 
    851      'font-family:"Courier New",Courier,monospace;'. 
    852      'font-size : 1.1em;'. 
    853      '}'. 
    854      'code {'. 
    855      'color : #666;'. 
    856      'font-weight : bold;'. 
    857      '}'. 
    858      'body > p:first-child {'. 
    859      'margin-top: 0;'. 
    860      '}'. 
    861      "'; ". 
    862      "jsToolBar.prototype.base_url = '".html::escapeJS($GLOBALS['core']->blog->host)."'; ". 
    863      "jsToolBar.prototype.switcher_visual_title = '".html::escapeJS(__('visual'))."'; ". 
    864      "jsToolBar.prototype.switcher_source_title = '".html::escapeJS(__('source'))."'; ". 
    865      "jsToolBar.prototype.legend_msg = '". 
    866      html::escapeJS(__('You can use the following shortcuts to format your text.'))."'; ". 
    867      "jsToolBar.prototype.elements.blocks.options.none = '".html::escapeJS(__('-- none --'))."'; ". 
    868      "jsToolBar.prototype.elements.blocks.options.nonebis = '".html::escapeJS(__('-- block format --'))."'; ". 
    869      "jsToolBar.prototype.elements.blocks.options.p = '".html::escapeJS(__('Paragraph'))."'; ". 
    870      "jsToolBar.prototype.elements.blocks.options.h1 = '".html::escapeJS(__('Level 1 header'))."'; ". 
    871      "jsToolBar.prototype.elements.blocks.options.h2 = '".html::escapeJS(__('Level 2 header'))."'; ". 
    872      "jsToolBar.prototype.elements.blocks.options.h3 = '".html::escapeJS(__('Level 3 header'))."'; ". 
    873      "jsToolBar.prototype.elements.blocks.options.h4 = '".html::escapeJS(__('Level 4 header'))."'; ". 
    874      "jsToolBar.prototype.elements.blocks.options.h5 = '".html::escapeJS(__('Level 5 header'))."'; ". 
    875      "jsToolBar.prototype.elements.blocks.options.h6 = '".html::escapeJS(__('Level 6 header'))."'; ". 
    876      "jsToolBar.prototype.elements.strong.title = '".html::escapeJS(__('Strong emphasis'))."'; ". 
    877      "jsToolBar.prototype.elements.em.title = '".html::escapeJS(__('Emphasis'))."'; ". 
    878      "jsToolBar.prototype.elements.ins.title = '".html::escapeJS(__('Inserted'))."'; ". 
    879      "jsToolBar.prototype.elements.del.title = '".html::escapeJS(__('Deleted'))."'; ". 
    880      "jsToolBar.prototype.elements.quote.title = '".html::escapeJS(__('Inline quote'))."'; ". 
    881      "jsToolBar.prototype.elements.code.title = '".html::escapeJS(__('Code'))."'; ". 
    882      "jsToolBar.prototype.elements.br.title = '".html::escapeJS(__('Line break'))."'; ". 
    883      "jsToolBar.prototype.elements.blockquote.title = '".html::escapeJS(__('Blockquote'))."'; ". 
    884      "jsToolBar.prototype.elements.pre.title = '".html::escapeJS(__('Preformated text'))."'; ". 
    885      "jsToolBar.prototype.elements.ul.title = '".html::escapeJS(__('Unordered list'))."'; ". 
    886      "jsToolBar.prototype.elements.ol.title = '".html::escapeJS(__('Ordered list'))."'; ". 
    887  
    888      "jsToolBar.prototype.elements.link.title = '".html::escapeJS(__('Link'))."'; ". 
    889      "jsToolBar.prototype.elements.link.href_prompt = '".html::escapeJS(__('URL?'))."'; ". 
    890      "jsToolBar.prototype.elements.link.hreflang_prompt = '".html::escapeJS(__('Language?'))."'; ". 
    891  
    892      "jsToolBar.prototype.elements.img.title = '".html::escapeJS(__('External image'))."'; ". 
    893      "jsToolBar.prototype.elements.img.src_prompt = '".html::escapeJS(__('URL?'))."'; ". 
    894  
    895      "jsToolBar.prototype.elements.img_select.title = '".html::escapeJS(__('Media chooser'))."'; ". 
    896      "jsToolBar.prototype.elements.post_link.title = '".html::escapeJS(__('Link to an entry'))."'; "; 
    897  
    898      if (!$GLOBALS['core']->auth->check('media,media_admin',$GLOBALS['core']->blog->id)) { 
    899           $res .= "jsToolBar.prototype.elements.img_select.disabled = true;\n"; 
    900      } 
    901  
    902      $res .= 
    903      "\n//]]>\n". 
    904      "</script>\n"; 
    905  
    906      return $res; 
     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'))."'; ". 
     901          "jsToolBar.prototype.elements.post_link.title = '".html::escapeJS(__('Link to an entry'))."'; ". 
     902 
     903          "jsToolBar.prototype.elements.removeFormat.title = '".html::escapeJS(__('Remove text formating'))."'; "; 
     904 
     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; 
    907914     } 
    908915 
    909916     public static function jsUpload($params=array(),$base_url=null) 
    910917     { 
    911      if (!$base_url) { 
    912           $base_url = path::clean(dirname(preg_replace('/(\?.*$)?/','',$_SERVER['REQUEST_URI']))).'/'; 
    913      } 
    914  
    915      $params = array_merge($params,array( 
    916           'sess_id='.session_id(), 
    917           'sess_uid='.$_SESSION['sess_browser_uid'], 
    918           'xd_check='.$GLOBALS['core']->getNonce() 
     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() 
    919926          )); 
    920927 
    921      return 
    922      '<script type="text/javascript">'."\n". 
    923      "//<![CDATA[\n". 
    924      "dotclear.jsUpload = {};\n". 
    925      "dotclear.jsUpload.msg = {};\n". 
    926      self::jsVar('dotclear.msg.enhanced_uploader_activate',__('Temporarily activate enhanced uploader')). 
    927      self::jsVar('dotclear.msg.enhanced_uploader_disable',__('Temporarily disable enhanced uploader')). 
    928      self::jsVar('dotclear.jsUpload.msg.limit_exceeded',__('Limit exceeded.')). 
    929      self::jsVar('dotclear.jsUpload.msg.size_limit_exceeded',__('File size exceeds allowed limit.')). 
    930      self::jsVar('dotclear.jsUpload.msg.canceled',__('Canceled.')). 
    931      self::jsVar('dotclear.jsUpload.msg.http_error',__('HTTP Error:')). 
    932      self::jsVar('dotclear.jsUpload.msg.error',__('Error:')). 
    933      self::jsVar('dotclear.jsUpload.msg.choose_file',__('Choose file')). 
    934      self::jsVar('dotclear.jsUpload.msg.choose_files',__('Choose files')). 
    935      self::jsVar('dotclear.jsUpload.msg.cancel',__('Cancel')). 
    936      self::jsVar('dotclear.jsUpload.msg.clean',__('Clean')). 
    937      self::jsVar('dotclear.jsUpload.msg.upload',__('Upload')). 
     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')). 
    938945          self::jsVar('dotclear.jsUpload.msg.send',__('Send')). 
    939946          self::jsVar('dotclear.jsUpload.msg.file_successfully_uploaded',__('File successfully uploaded.')). 
    940      self::jsVar('dotclear.jsUpload.msg.no_file_in_queue',__('No file in queue.')). 
    941      self::jsVar('dotclear.jsUpload.msg.file_in_queue',__('1 file in queue.')). 
    942      self::jsVar('dotclear.jsUpload.msg.files_in_queue',__('%d files in queue.')). 
    943      self::jsVar('dotclear.jsUpload.msg.queue_error',__('Queue error:')). 
    944      self::jsVar('dotclear.jsUpload.base_url',$base_url). 
    945      "\n//]]>\n". 
     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". 
    946953          "</script>\n". 
    947954 
     
    960967     public static function jsToolMan() 
    961968     { 
    962      return 
    963      '<script type="text/javascript" src="js/tool-man/core.js"></script>'. 
    964      '<script type="text/javascript" src="js/tool-man/events.js"></script>'. 
    965      '<script type="text/javascript" src="js/tool-man/css.js"></script>'. 
    966      '<script type="text/javascript" src="js/tool-man/coordinates.js"></script>'. 
    967      '<script type="text/javascript" src="js/tool-man/drag.js"></script>'. 
    968      '<script type="text/javascript" src="js/tool-man/dragsort.js"></script>'. 
    969      '<script type="text/javascript" src="js/dragsort-tablerows.js"></script>'; 
     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>'; 
    970977     } 
    971978 
    972979     public static function jsMetaEditor() 
    973980     { 
    974      return 
    975      '<script type="text/javascript" src="js/meta-editor.js"></script>'; 
     981          return 
     982          '<script type="text/javascript" src="js/meta-editor.js"></script>'; 
    976983     } 
    977984} 
  • inc/admin/prepend.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 
     
    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