Changeset 4312

Show
Ignore:
Timestamp:
Tue Jan 10 06:26:11 2006
Author:
paul
Message:

Fix for bug #1602 - funny Xinha toolbar if there is only one line of buttons. Also automatically adjust the toolbar so it uses the least number of lines depending on how many controls there are.

Files:

Legend:

Unmodified
Added
Removed
Modified
  • trunk/campsite/implementation/management/priv/articles/editor_load_xinha.php

    r4085 r4312  
    150 150   xinha_plugins = xinha_plugins ? xinha_plugins :  
    151 151   [  
      152     <?php if ($p_user->hasPermission("EditorImage")) { ?>  
    152 153     'ImageManager',  
      154     <?php } ?>  
    153 155     <?php if ($p_user->hasPermission('EditorTable')) { ?>  
    154 156     'TableOperations',  
     
    157 159     'ListType',  
    158 160     <?php } ?>  
      161     <?php if ($p_user->hasPermission("EditorEnlarge")) { ?>  
    159 162     'FullScreen',  
      163     <?php } ?>  
    160 164     'WordPaste',  
    161 165     'CharacterMap',  
     
    208 212    xinha_config.btnList["removeformat"] = [ "Remove formatting", ["ed_buttons_main.gif",4,4], true, function(e) {e.execCommand("removeformat");} ],  
    209 213    // Put the "find-replace" plugin in a better location  
    210      //xinha_config.addToolbarElement([], ["FR-findreplace"], 0);  
    211      xinha_config.addToolbarElement(["FR-findreplace"], ["paste","cut","copy","redo","undo"], +1);  
      214    xinha_config.addToolbarElement([], ["FR-findreplace"], 0);  
    212 215  
    213 216    // Add in our style sheet for the "subheads".  
    214 217    xinha_config.pageStyle = "<?php echo str_replace("\n", "", file_get_contents($stylesheetFile)); ?>";  
      218      
      219    <?php if ($p_user->hasPermission('EditorSubhead')) { ?>  
    215 220    subheadTooltip = HTMLArea._lc('Subhead', 'Campsite');  
    216 221    xinha_config.registerButton({  
     
    230 235        context   : ''  
    231 236    });  
    232    
      237    <?php } ?>  
      238      
      239    <?php if ($p_user->hasPermission('EditorLink')) { ?>  
    233 240    internalLinkTooltip = HTMLArea._lc('Insert Internal Link', 'Campsite');  
    234 241    xinha_config.registerButton({  
    248 255        context   : ''  
    249 256    });  
      257    <?php }  
      258      
      259     $toolbar1 = array();  
      260     if ($p_user->hasPermission('EditorBold')) {  
      261         $toolbar1[] = "\"bold\"";  
      262     }  
      263     if ($p_user->hasPermission('EditorItalic')) {  
      264         $toolbar1[] = "\"italic\"";  
      265     }  
      266     if ($p_user->hasPermission('EditorUnderline')) {  
      267         $toolbar1[] = "\"underline\"";  
      268     }  
      269     if ($p_user->hasPermission('EditorStrikethrough')) {  
      270         $toolbar1[] = "\"strikethrough\"";  
      271     }  
      272     if ($p_user->hasPermission('EditorTextAlignment')) {  
      273         $toolbar1[] = "\"justifyleft\"";  
      274         $toolbar1[] = "\"justifycenter\"";  
      275         $toolbar1[] = "\"justifyright\"";  
      276         $toolbar1[] = "\"justifyfull\"";  
      277     }  
      278     if ($p_user->hasPermission('EditorIndent')) {  
      279         $toolbar1[] = "\"outdent\"";  
      280         $toolbar1[] = "\"indent\"";  
      281     }  
      282     if ($p_user->hasPermission('EditorCopyCutPaste')) {  
      283         $toolbar1[] = "\"copy\"";  
      284         $toolbar1[] = "\"cut\"";  
      285         $toolbar1[] = "\"paste\"";  
      286         $toolbar1[] = "\"space\"";  
      287     }  
      288     if ($p_user->hasPermission('EditorUndoRedo')) {  
      289         $toolbar1[] = "\"undo\"";  
      290         $toolbar1[] = "\"redo\"";  
      291     }  
      292     if ($p_user->hasPermission('EditorTextDirection')) {  
      293          $toolbar1[] = "\"lefttoright\"";  
      294          $toolbar1[] = "\"righttoleft\"";  
      295     }  
      296     if ($p_user->hasPermission('EditorLink')) {  
      297         $toolbar1[] = "\"campsite-internal-link\"";  
      298         $toolbar1[] = "\"createlink\"";  
      299     }  
      300     if ($p_user->hasPermission('EditorSubhead')) {  
      301         $toolbar1[] = "\"campsite-subhead\"";  
      302     }  
      303     if ($p_user->hasPermission('EditorImage')) {  
      304         $toolbar1[] = "\"insertimage\"";  
      305     }  
      306     if ($p_user->hasPermission('EditorSourceView')) {  
      307         $toolbar1[] = "\"htmlmode\"";  
      308     }  
      309     if ($p_user->hasPermission('EditorEnlarge')) {  
      310         $toolbar1[] = "\"popupeditor\"";  
      311     }  
      312      
      313     if ($p_user->hasPermission('EditorHorizontalRule')) {  
      314         $toolbar1[] = "\"inserthorizontalrule\"";  
      315     }  
      316     if ($p_user->hasPermission('EditorFontColor')) {  
      317         $toolbar1[] = "\"forecolor\"";  
      318         $toolbar1[] = "\"hilitecolor\"";  
      319     }  
      320     if ($p_user->hasPermission('EditorSubscript')) {  
      321         $toolbar1[] = "\"subscript\"";  
      322     }  
      323     if ($p_user->hasPermission('EditorSuperscript')) {  
      324         $toolbar1[] = "\"superscript\"";  
      325     }  
    250 326  
      327     $toolbar2 = array();  
      328     // Slice up the first toolbar if it is too long.  
      329     if (count($toolbar1) > 24) {  
      330         $toolbar2 = array_splice($toolbar1, 24);  
      331     }  
      332      
      333     // This is to put the bulleted and numbered list controls  
      334     // on the most appropriate line of the toolbar.  
      335     if ($p_user->hasPermission('EditorListBullet') && $p_user->hasPermission('EditorListNumber') && count($toolbar1) < 15) {  
      336         $toolbar1[] = "\"insertunorderedlist\"";  
      337         $toolbar1[] = "\"insertorderedlist\"";  
      338     }         
      339     elseif ($p_user->hasPermission('EditorListBullet') && !$p_user->hasPermission('EditorListNumber') && count($toolbar1) < 24) {  
      340         $toolbar1[] = "\"insertunorderedlist\"";  
      341     }  
      342     elseif (!$p_user->hasPermission('EditorListBullet') && $p_user->hasPermission('EditorListNumber') && count($toolbar1) < 16) {  
      343         $toolbar1[] = "\"insertorderedlist\"";  
      344     }  
      345     else {  
      346         if ($p_user->hasPermission('EditorListBullet')) {  
      347             $toolbar2[] = "\"insertunorderedlist\"";  
      348         }  
      349         if ($p_user->hasPermission('EditorListNumber')) {  
      350             $toolbar2[] = "\"insertorderedlist\"";  
      351         }  
      352     }  
      353      
      354     // This is to fix ticket #1602.  You only want the line break if  
      355     // there is more than one line in the toolbar.  
      356     if (count($toolbar2) > 0 || $p_user->hasPermission('EditorTable'))  {  
      357         $toolbar1[] = "\"linebreak\"";  
      358     }  
      359    ?>  
      360      
    251 361    xinha_config.toolbar = [  
    252          [  
    253          <?php if ($p_user->hasPermission('EditorBold')) { ?>  
    254               "bold",  
    255           <?php } ?>  
    256           <?php if ($p_user->hasPermission('EditorItalic')) { ?>  
    257               "italic",  
    258           <?php } ?>  
    259           <?php if ($p_user->hasPermission('EditorUnderline')) { ?>  
    260               "underline",  
    261           <?php } ?>  
    262           <?php if ($p_user->hasPermission('EditorStrikethrough')) { ?>  
    263               "strikethrough",  
    264           <?php } ?>  
    265               //"separator",  
    266           <?php if ($p_user->hasPermission('EditorTextAlignment')) { ?>  
    267               "justifyleft",  
    268               "justifycenter",  
    269               "justifyright",  
    270               "justifyfull",  
    271               //"separator",  
    272           <?php } ?>  
    273           <?php if ($p_user->hasPermission('EditorIndent')) { ?>  
    274               "outdent",  
    275               "indent",  
    276               //"separator",  
    277           <?php } ?>  
    278           <?php if ($p_user->hasPermission('EditorCopyCutPaste')) { ?>  
    279               "copy",  
    280               "cut",  
    281               "paste",  
    282               "space",  
    283               //"separator",  
    284           <?php } ?>  
    285           <?php if ($p_user->hasPermission('EditorUndoRedo')) { ?>                   
    286               "undo",  
    287               "redo",  
    288               //"separator",  
    289           <?php } ?>                 
    290           <?php if ($p_user->hasPermission('EditorTextDirection')) { ?>  
    291               "lefttoright",  
    292               "righttoleft",  
    293               //"separator",  
    294           <?php } ?>  
    295           <?php if ($p_user->hasPermission('EditorLink')) { ?>  
    296               "campsite-internal-link",  
    297               "createlink",  
    298               //"separator",  
    299           <?php } ?>  
    300           <?php if ($p_user->hasPermission('EditorSubhead')) { ?>  
    301               "campsite-subhead",  
    302           <?php } ?>  
    303           <?php if ($p_user->hasPermission('EditorImage')) { ?>  
    304               "insertimage",  
    305               //"separator",  
    306           <?php } ?>  
    307               //"killword",  
    308               //"removeformat",  
    309           <?php if ($p_user->hasPermission('EditorSourceView')) { ?>  
    310               "htmlmode",  
    311           <?php } ?>  
    312           <?php if ($p_user->hasPermission('EditorEnlarge')) { ?>  
    313               "popupeditor",  
    314           <?php } ?>  
    315               "linebreak",  
    316           ],  
    317    
    318           [  
    319           <?php if ($p_user->hasPermission('EditorFontFace')) { ?>  
    320               //"fontname",  
    321               //"space",  
    322           <?php } ?>  
    323           <?php if ($p_user->hasPermission('EditorFontSize')) { ?>  
    324               //"fontsize",  
    325               //"space",  
    326           <?php } ?>  
    327           <?php if (false) { ?>  
    328               "formatblock",  
    329               "space",  
    330           <?php } ?>  
    331           <?php if ($p_user->hasPermission('EditorListBullet')) { ?>  
    332               "insertunorderedlist",  
    333           <?php } ?>  
    334           <?php if ($p_user->hasPermission('EditorListNumber')) { ?>  
    335               "insertorderedlist",  
    336               //"separator",  
    337           <?php } ?>  
    338           <?php if ($p_user->hasPermission('EditorHorizontalRule')) { ?>  
    339               "inserthorizontalrule",  
    340               //"separator",  
    341           <?php } ?>  
    342           <?php if ($p_user->hasPermission('EditorFontColor')) { ?>  
    343               "forecolor",  
    344               "hilitecolor",  
    345               //"separator",  
    346           <?php } ?>  
    347           <?php if ($p_user->hasPermission('EditorSubscript')) { ?>  
    348               "subscript",  
    349           <?php } ?>  
    350           <?php if ($p_user->hasPermission('EditorSuperscript')) { ?>  
    351               "superscript",  
      362         [ <?php echo implode(",", $toolbar1); ?> ],  
      363          
      364         <?php if (count($toolbar2) > 0) { ?>  
      365         [ <?php echo implode(",", $toolbar2); ?> ],  
    352 366         <?php } ?>  
    353             ],  
    354              
      367          
    355 368         <?php if ($p_user->hasPermission('EditorTable')) { ?>  
    356             [ "linebreak", "inserttable" ],  
      369         [ "linebreak", "inserttable" ],  
    356 369         <?php } ?>  
    357 370     ];