Dotclear


Ignore:
Timestamp:
06/12/13 11:21:10 (12 years ago)
Author:
Dsls <dsls@…>
Branch:
twig
Parents:
1156:92f840a91f98 (diff), 1146:aff704bcccea (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

    r1145 r1157  
    4949      
    5050     # Top of admin page 
    51      public static function open($title='', $head='') 
    52      { 
    53           global $core; 
    54  
    55           # List of user's blogs 
    56           if ($core->auth->blog_count == 1 || $core->auth->blog_count > 20) 
    57           { 
    58                $blog_box = 
    59                '<p>'.__('Blog:').' <strong title="'.html::escapeHTML($core->blog->url).'">'. 
    60                html::escapeHTML($core->blog->name).'</strong>'; 
    61                 
    62                if ($core->auth->blog_count > 20) { 
    63                     $blog_box .= ' - <a href="blogs.php">'.__('Change blog').'</a>'; 
    64                } 
    65                $blog_box .= '</p>'; 
    66           } 
    67           else 
    68           { 
    69                $rs_blogs = $core->getBlogs(array('order'=>'LOWER(blog_name)','limit'=>20)); 
    70                $blogs = array(); 
    71                while ($rs_blogs->fetch()) { 
    72                     $blogs[html::escapeHTML($rs_blogs->blog_name.' - '.$rs_blogs->blog_url)] = $rs_blogs->blog_id; 
    73                } 
    74                $blog_box = 
    75                '<p><label for="switchblog" class="classic">'. 
    76                __('Blogs:').' '. 
    77                $core->formNonce(). 
    78                form::combo('switchblog',$blogs,$core->blog->id). 
    79                '</label></p>'. 
    80                '<noscript><p><input type="submit" value="'.__('ok').'" /></p></noscript>'; 
    81           } 
    82            
    83           $safe_mode = isset($_SESSION['sess_safe_mode']) && $_SESSION['sess_safe_mode']; 
    84            
    85           # Display 
    86           header('Content-Type: text/html; charset=UTF-8'); 
    87           echo 
    88           '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" '. 
    89           ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'."\n". 
    90           '<html xmlns="http://www.w3.org/1999/xhtml" '. 
    91           'xml:lang="'.$core->auth->getInfo('user_lang').'" '. 
    92           'lang="'.$core->auth->getInfo('user_lang').'">'."\n". 
    93           "<head>\n". 
    94           '  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'."\n". 
    95           '  <title>'.$title.' - '.html::escapeHTML($core->blog->name).' - '.html::escapeHTML(DC_VENDOR_NAME).' - '.DC_VERSION.'</title>'."\n". 
    96            
    97           '  <meta name="ROBOTS" content="NOARCHIVE,NOINDEX,NOFOLLOW" />'."\n". 
    98           '  <meta name="GOOGLEBOT" content="NOSNIPPET" />'."\n". 
    99            
    100           self::jsLoadIE7(). 
    101           '    <link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />'."\n";  
    102           if (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl') { 
    103                echo 
    104           '    <link rel="stylesheet" href="style/default-rtl.css" type="text/css" media="screen" />'."\n";  
    105           } 
    106  
    107           $core->auth->user_prefs->addWorkspace('interface'); 
    108           $user_ui_hide_std_favicon = $core->auth->user_prefs->interface->hide_std_favicon; 
    109           if (!$user_ui_hide_std_favicon) { 
    110                echo '<link rel="icon" type="image/png" href="images/favicon.png" />'; 
    111           } 
    112            
    113           echo 
    114           self::jsCommon(). 
    115           $head; 
    116            
    117           # --BEHAVIOR-- adminPageHTMLHead 
    118           $core->callBehavior('adminPageHTMLHead'); 
    119            
    120           echo 
    121           "</head>\n". 
    122           '<body id="dotclear-admin'. 
    123           ($safe_mode ? ' safe-mode' : ''). 
    124           '">'."\n". 
    125            
    126           '<div id="header">'. 
    127           '<ul id="prelude"><li><a href="#content">'.__('Go to the content').'</a></li><li><a href="#main-menu">'.__('Go to the menu').'</a></li></ul>'."\n". 
    128           '<div id="top"><h1><a href="index.php">'.DC_VENDOR_NAME.'</a></h1></div>'."\n";  
    129            
    130           echo 
    131           '<div id="info-boxes">'. 
    132           '<div id="info-box1">'. 
    133           '<form action="index.php" method="post">'. 
    134           $blog_box. 
    135           '<p><a href="'.$core->blog->url.'" onclick="window.open(this.href);return false;" title="'.__('Go to site').' ('.__('new window').')'.'">'.__('Go to site').' <img src="images/outgoing.png" alt="" /></a>'. 
    136           '</p></form>'. 
    137           '</div>'. 
    138           '<div id="info-box2">'. 
    139           '<a'.(preg_match('/index.php$/',$_SERVER['REQUEST_URI']) ? ' class="active"' : '').' href="index.php">'.__('My dashboard').'</a>'. 
    140           '<span> | </span><a'.(preg_match('/preferences.php(\?.*)?$/',$_SERVER['REQUEST_URI']) ? ' class="active"' : '').' href="preferences.php">'.__('My preferences').'</a>'. 
    141           '<span> | </span><a href="index.php?logout=1" class="logout">'.sprintf(__('Logout %s'),$core->auth->userID()).' <img src="images/logout.png" alt="" /></a>'. 
    142           '</div>'. 
    143           '</div>'. 
    144           '</div>'; 
    145            
    146           echo 
    147           '<div id="wrapper">'."\n". 
    148           '<div id="main">'."\n". 
    149           '<div id="content">'."\n"; 
    150            
    151           # Safe mode 
    152           if ($safe_mode) 
    153           { 
    154                echo 
    155                '<div class="error"><h3>'.__('Safe mode').'</h3>'. 
    156                '<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>'. 
    157                '</div>'; 
    158           } 
     51     public static function open($title='',$head='',$popup=false) 
     52     { 
     53          global $core, $_ctx; 
     54           
     55          $_ctx->popup = (boolean) $popup; 
     56          $_ctx->page_header = $head; 
     57          $_ctx->fillPageTitle($title); 
     58           
     59          ob_start(); 
     60     } 
     61      
     62     public static function close() 
     63     { 
     64          $res = ob_get_contents(); 
     65          ob_end_clean(); 
     66           
     67          global $core, $_ctx; 
    15968           
    16069          if ($core->error->flag()) { 
    161                echo 
    162                '<div class="error"><p><strong>'.(count($core->error->getErrors()) > 1 ? __('Errors:') : __('Error:')).'</p></strong>'. 
    163                $core->error->toHTML(). 
    164                '</div>'; 
    165           } 
    166      } 
    167       
    168      public static function close() 
    169      { 
    170           global $core; 
    171  
    172           $menu =& $GLOBALS['_menu']; 
    173            
    174           echo 
    175           "</div>\n".         // End of #content 
    176           "</div>\n".         // End of #main 
    177            
    178           '<div id="main-menu">'."\n"; 
    179            
    180           foreach ($menu as $k => $v) { 
    181                echo $menu[$k]->draw(); 
    182           } 
    183            
    184           $text = sprintf(__('Thank you for using %s.'),'Dotclear '.DC_VERSION); 
    185  
    186           # --BEHAVIOR-- adminPageFooter 
    187           $textAlt = $core->callBehavior('adminPageFooter',$core,$text); 
    188           if ($textAlt != '') { 
    189                $text = $textAlt; 
    190           } 
    191           $text = html::escapeHTML($text); 
    192  
    193           echo 
    194           '</div>'."\n".      // End of #main-menu 
    195           '<div id="footer"><a href="http://dotclear.org/" title="'.$text.'"><img src="style/dc_logo_footer.png" alt="'.$text.'" /></a></div>'."\n". 
    196           "</div>\n";         // End of #wrapper 
    197            
    198           if (defined('DC_DEV') && DC_DEV === true) { 
    199                echo self::debugInfo(); 
    200           } 
    201            
    202           echo 
    203           '</body></html>'; 
    204      } 
    205       
    206      public static function openPopup($title='', $head='') 
    207      { 
    208           global $core; 
    209            
    210           # Display 
    211           header('Content-Type: text/html; charset=UTF-8'); 
    212           echo 
    213           '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" '. 
    214           ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'."\n". 
    215           '<html xmlns="http://www.w3.org/1999/xhtml" '. 
    216           'xml:lang="'.$core->auth->getInfo('user_lang').'" '. 
    217           'lang="'.$core->auth->getInfo('user_lang').'">'."\n". 
    218           "<head>\n". 
    219           '  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'."\n". 
    220           '  <title>'.$title.' - '.html::escapeHTML($core->blog->name).' - '.html::escapeHTML(DC_VENDOR_NAME).' - '.DC_VERSION.'</title>'."\n". 
    221            
    222           '  <meta name="ROBOTS" content="NOARCHIVE,NOINDEX,NOFOLLOW" />'."\n". 
    223           '  <meta name="GOOGLEBOT" content="NOSNIPPET" />'."\n". 
    224            
    225           self::jsLoadIE7(). 
    226           '    <link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />'."\n";  
    227           if (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl') { 
    228                echo 
    229                '    <link rel="stylesheet" href="style/default-rtl.css" type="text/css" media="screen" />'."\n";  
    230           } 
    231            
    232           echo 
    233           self::jsCommon(). 
    234           $head; 
    235            
    236           # --BEHAVIOR-- adminPageHTMLHead 
    237           $core->callBehavior('adminPageHTMLHead'); 
    238            
    239           echo 
    240           "</head>\n". 
    241           '<body id="dotclear-admin" class="popup">'."\n". 
    242            
    243           '<div id="top"><h1>'.DC_VENDOR_NAME.'</h1></div>'."\n"; 
    244            
    245           echo 
    246           '<div id="wrapper">'."\n". 
    247           '<div id="main">'."\n". 
    248           '<div id="content">'."\n"; 
    249            
    250           if ($core->error->flag()) { 
    251                echo 
    252                '<div class="error"><strong>'.__('Errors:').'</strong>'. 
    253                $core->error->toHTML(). 
    254                '</div>'; 
    255           } 
     70               foreach($core->error->getErrors() as $e) { 
     71                    $_ctx->addError($e); 
     72               } 
     73          } 
     74          $_ctx->page_content = $res; 
     75          $core->tpl->display('page_layout.html.twig'); 
     76     } 
     77      
     78     public static function openPopup($title='',$head='') 
     79     { 
     80          self::open($title,$head,true); 
    25681     } 
    25782      
    25883     public static function closePopup() 
    25984     { 
    260           echo 
    261           "</div>\n".         // End of #content 
    262           "</div>\n".         // End of #main 
    263           '<div id="footer"><p>&nbsp;</p></div>'."\n". 
    264           "</div>\n".         // End of #wrapper 
    265           '</body></html>'; 
     85          self::close(); 
    26686     } 
    26787 
     
    27999               } 
    280100          } 
    281           return $res; 
    282      } 
    283       
    284      private static function debugInfo() 
    285      { 
    286           $global_vars = implode(', ',array_keys($GLOBALS)); 
    287            
    288           $res = 
    289           '<div id="debug"><div>'. 
    290           '<p>memory usage: '.memory_get_usage().' ('.files::size(memory_get_usage()).')</p>'; 
    291            
    292           if (function_exists('xdebug_get_profiler_filename')) 
    293           { 
    294                $res .= '<p>Elapsed time: '.xdebug_time_index().' seconds</p>'; 
    295                 
    296                $prof_file = xdebug_get_profiler_filename(); 
    297                if ($prof_file) { 
    298                     $res .= '<p>Profiler file : '.xdebug_get_profiler_filename().'</p>'; 
    299                } else { 
    300                     $prof_url = http::getSelfURI(); 
    301                     $prof_url .= (strpos($prof_url,'?') === false) ? '?' : '&'; 
    302                     $prof_url .= 'XDEBUG_PROFILE'; 
    303                     $res .= '<p><a href="'.html::escapeURL($prof_url).'">Trigger profiler</a></p>'; 
    304                } 
    305                 
    306                /* xdebug configuration: 
    307                zend_extension = /.../xdebug.so 
    308                xdebug.auto_trace = On 
    309                xdebug.trace_format = 0 
    310                xdebug.trace_options = 1 
    311                xdebug.show_mem_delta = On 
    312                xdebug.profiler_enable = 0 
    313                xdebug.profiler_enable_trigger = 1 
    314                xdebug.profiler_output_dir = /tmp 
    315                xdebug.profiler_append = 0 
    316                xdebug.profiler_output_name = timestamp 
    317                */ 
    318           } 
    319            
    320           $res .= 
    321           '<p>Global vars: '.$global_vars.'</p>'. 
    322           '</div></div>'; 
    323            
    324101          return $res; 
    325102     } 
  • inc/admin/lib.dc.page.php

    r1155 r1157  
    450450     } 
    451451      
    452      public static function jsCandyUpload($params=array(),$base_url=null) 
     452     public static function jsUpload($params=array(),$base_url=null) 
    453453     { 
    454454          if (!$base_url) { 
     
    463463           
    464464          return 
    465           '<link rel="stylesheet" type="text/css" href="style/candyUpload/style.css" />'."\n". 
    466           self::jsLoad('js/jquery/jquery.candyUpload.js'). 
    467            
    468           '<script type="text/javascript">'."\n". 
    469           "//<![CDATA[\n". 
    470           "dotclear.candyUpload = {};\n". 
    471           self::jsVar('dotclear.msg.activate_enhanced_uploader',__('Temporarily activate enhanced uploader')). 
    472           self::jsVar('dotclear.msg.disable_enhanced_uploader',__('Temporarily disable enhanced uploader')). 
    473           self::jsVar('$._candyUpload.prototype.locales.file_uploaded',__('File successfully uploaded.')). 
    474           self::jsVar('$._candyUpload.prototype.locales.max_file_size',__('Maximum file size allowed:')). 
    475           self::jsVar('$._candyUpload.prototype.locales.limit_exceeded',__('Limit exceeded.')). 
    476           self::jsVar('$._candyUpload.prototype.locales.size_limit_exceeded',__('File size exceeds allowed limit.')). 
    477           self::jsVar('$._candyUpload.prototype.locales.canceled',__('Canceled.')). 
    478           self::jsVar('$._candyUpload.prototype.locales.http_error',__('HTTP Error:')). 
    479           self::jsVar('$._candyUpload.prototype.locales.error',__('Error:')). 
    480           self::jsVar('$._candyUpload.prototype.locales.choose_file',__('Choose file')). 
    481           self::jsVar('$._candyUpload.prototype.locales.choose_files',__('Choose files')). 
    482           self::jsVar('$._candyUpload.prototype.locales.cancel',__('Cancel')). 
    483           self::jsVar('$._candyUpload.prototype.locales.clean',__('Clean')). 
    484           self::jsVar('$._candyUpload.prototype.locales.upload',__('Upload')). 
    485           self::jsVar('$._candyUpload.prototype.locales.no_file_in_queue',__('No file in queue.')). 
    486           self::jsVar('$._candyUpload.prototype.locales.file_in_queue',__('1 file in queue.')). 
    487           self::jsVar('$._candyUpload.prototype.locales.files_in_queue',__('%d files in queue.')). 
    488           self::jsVar('$._candyUpload.prototype.locales.queue_error',__('Queue error:')). 
    489           self::jsVar('dotclear.candyUpload.base_url',$base_url). 
    490           self::jsVar('dotclear.candyUpload.movie_url',$base_url.'index.php?pf=swfupload.swf'). 
    491           self::jsVar('dotclear.candyUpload.params',implode('&',$params)). 
     465          '<link rel="stylesheet" type="text/css" href="style/jsUpload/style.css" />'."\n". 
     466 
     467    '<script id="template-upload" type="text/x-tmpl"> 
     468{% for (var i=0, file; file=o.files[i]; i++) { %} 
     469    <tr class="template-upload fade"> 
     470        <td> 
     471            <span class="preview"></span> 
     472        </td> 
     473        <td> 
     474            <p class="name">{%=file.name%}</p> 
     475            {% if (file.error) { %} 
     476                <div><span class="label label-error">'.__('Error:').'</span> {%=file.error%}</div> 
     477            {% } %} 
     478        </td> 
     479        <td> 
     480            <p class="size">{%=o.formatFileSize(file.size)%}</p> 
     481            {% if (!o.files.error) { %} 
     482                <div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="bar" style="width:0%;"></div></div> 
     483            {% } %} 
     484        </td> 
     485        <td> 
     486            {% if (!o.files.error && !i && !o.options.autoUpload) { %} 
     487                <input type="submit" class="button start" value="'.__('Send').'"/> 
     488            {% } %} 
     489        </td> 
     490    </tr> 
     491{% } %} 
     492</script> 
     493<!-- The template to display files available for download --> 
     494<script id="template-download" type="text/x-tmpl"> 
     495{% for (var i=0, file; file=o.files[i]; i++) { %} 
     496    <tr class="template-download fade"> 
     497        <td> 
     498            <span class="preview"> 
     499                {% if (file.thumbnail_url) { %} 
     500                    <a href="{%=file.url%}" title="{%=file.name%}" data-gallery="gallery" download="{%=file.name%}"><img src="{%=file.thumbnail_url%}"></a> 
     501                {% } %} 
     502            </span> 
     503        </td> 
     504        <td> 
     505            <p class="name">{%=file.name%}</p> 
     506            {% if (file.error) { %} 
     507                <div><span class="label label-important">'.__('Error:').'</span> {%=file.error%}</div> 
     508            {% } %} 
     509        </td> 
     510        <td> 
     511            <span class="size">{%=o.formatFileSize(file.size)%}</span> 
     512        </td> 
     513        <td> 
     514            {% if (file.error) { %} 
     515            <span class="upload-status error"></span> 
     516            {% } else { %} 
     517            <span class="upload-status ok"></span> 
     518            {% } %} 
     519        </td> 
     520    </tr> 
     521{% } %} 
     522</script>'. 
     523 
     524          self::jsLoad('js/jsUpload/vendor/jquery.ui.widget.js'). 
     525    self::jsLoad('js/jsUpload/tmpl.js'). 
     526    self::jsLoad('js/jsUpload/load-image.js'). 
     527          self::jsLoad('js/jsUpload/jquery.iframe-transport.js'). 
     528          self::jsLoad('js/jsUpload/jquery.fileupload.js'). 
     529          self::jsLoad('js/jsUpload/jquery.fileupload-process.js'). 
     530          self::jsLoad('js/jsUpload/jquery.fileupload-resize.js'). 
     531          self::jsLoad('js/jsUpload/jquery.fileupload-ui.js'). 
     532           
     533          '<script type="text/javascript">'."\n". 
     534          "//<![CDATA[\n". 
     535          "dotclear.jsUpload = {};\n". 
     536          "dotclear.jsUpload.msg = {};\n". 
     537          self::jsVar('dotclear.jsUpload.msg.limit_exceeded',__('Limit exceeded.')). 
     538          self::jsVar('dotclear.jsUpload.msg.size_limit_exceeded',__('File size exceeds allowed limit.')). 
     539          self::jsVar('dotclear.jsUpload.msg.canceled',__('Canceled.')). 
     540          self::jsVar('dotclear.jsUpload.msg.http_error',__('HTTP Error:')). 
     541          self::jsVar('dotclear.jsUpload.msg.error',__('Error:')). 
     542          self::jsVar('dotclear.jsUpload.msg.choose_file',__('Choose file')). 
     543          self::jsVar('dotclear.jsUpload.msg.choose_files',__('Choose files')). 
     544          self::jsVar('dotclear.jsUpload.msg.cancel',__('Cancel')). 
     545          self::jsVar('dotclear.jsUpload.msg.clean',__('Clean')). 
     546          self::jsVar('dotclear.jsUpload.msg.upload',__('Upload')). 
     547          self::jsVar('dotclear.jsUpload.msg.no_file_in_queue',__('No file in queue.')). 
     548          self::jsVar('dotclear.jsUpload.msg.file_in_queue',__('1 file in queue.')). 
     549          self::jsVar('dotclear.jsUpload.msg.files_in_queue',__('%d files in queue.')). 
     550          self::jsVar('dotclear.jsUpload.msg.queue_error',__('Queue error:')). 
     551          self::jsVar('dotclear.jsUpload.base_url',$base_url). 
    492552          "\n//]]>\n". 
    493553          "</script>\n"; 
Note: See TracChangeset for help on using the changeset viewer.

Sites map