Changeset 11853

Show
Ignore:
Timestamp:
08/30/07 12:02:16 (1 year ago)
Author:
w_i
Message:

added privilege handling to toolbars. refs #102, refs #30

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midcom/midcom.core/midcom/config/midcom_config.php

    r11791 r11853  
    431431$GLOBALS['midcom_config_default']['toolbars_object_style_class'] = 'midcom_toolbar object_toolbar'; 
    432432$GLOBALS['midcom_config_default']['toolbars_css_path'] = MIDCOM_STATIC_URL . "/Javascript_protoToolkit/styles/protoToolbar.css"; 
     433$GLOBALS['midcom_config_default']['toolbars_simple_css_path'] = MIDCOM_STATIC_URL . "/midcom.services.toolbars/simple.css"; 
    433434$GLOBALS['midcom_config_default']['toolbars_enable_centralized'] = true; 
    434435 
  • trunk/midcom/midcom.core/midcom/services/toolbars.php

    r11697 r11853  
    108108        } 
    109109 
    110         $_MIDCOM->add_jsfile(MIDCOM_STATIC_URL . '/Pearified/JavaScript/Prototype/prototype.js'); 
    111         $_MIDCOM->add_jsfile(MIDCOM_STATIC_URL . '/Pearified/JavaScript/Scriptaculous/scriptaculous.js'); 
    112         $_MIDCOM->add_jsfile(MIDCOM_STATIC_URL . '/Javascript_protoToolkit/protoToolkit.js'); 
    113         $_MIDCOM->add_jsfile(MIDCOM_STATIC_URL . '/Javascript_protoToolkit/protoMemory.js'); 
    114         $_MIDCOM->add_jsfile(MIDCOM_STATIC_URL . '/Javascript_protoToolkit/protoToolbar.js');         
    115  
    116         $_MIDCOM->add_link_head( 
    117             array 
    118             ( 
    119                 'rel'   => 'stylesheet', 
    120                 'type'  => 'text/css', 
    121                 'media' => 'screen', 
    122                 'href'  => $GLOBALS['midcom_config']['toolbars_css_path'], 
    123             ) 
    124         ); 
    125  
    126         $this->type = 'palette'; 
    127  
    128         // Compute the final script: 
    129         $script = " 
    130             function protoToolbarOnload() { 
    131                 protoToolbar = new protoToolbar({ 
    132                    type: '{$this->type}' 
    133                 }); 
    134             } 
    135         "; 
    136  
    137         $_MIDCOM->add_jscript($script); 
    138         $_MIDCOM->add_jsonload('protoToolbarOnload()'); 
    139  
     110        if ($_MIDCOM->auth->can_user_do('midcom:ajax', null, 'midcom_services_toolbars')) 
     111        { 
     112            $_MIDCOM->add_jsfile(MIDCOM_STATIC_URL . '/Pearified/JavaScript/Prototype/prototype.js'); 
     113            $_MIDCOM->add_jsfile(MIDCOM_STATIC_URL . '/Pearified/JavaScript/Scriptaculous/scriptaculous.js'); 
     114            $_MIDCOM->add_jsfile(MIDCOM_STATIC_URL . '/Javascript_protoToolkit/protoToolkit.js'); 
     115            $_MIDCOM->add_jsfile(MIDCOM_STATIC_URL . '/Javascript_protoToolkit/protoMemory.js'); 
     116            $_MIDCOM->add_jsfile(MIDCOM_STATIC_URL . '/Javascript_protoToolkit/protoToolbar.js');         
     117 
     118            $_MIDCOM->add_link_head( 
     119                array 
     120                ( 
     121                    'rel'   => 'stylesheet', 
     122                    'type'  => 'text/css', 
     123                    'media' => 'screen', 
     124                    'href'  => $GLOBALS['midcom_config']['toolbars_css_path'], 
     125                ) 
     126            ); 
     127 
     128            $this->type = 'palette'; 
     129 
     130            // Compute the final script: 
     131            $script = " 
     132                function protoToolbarOnload() { 
     133                        protoToolbar = new protoToolbar({ 
     134                           type: '{$this->type}' 
     135                    }); 
     136                } 
     137            "; 
     138 
     139            $_MIDCOM->add_jscript($script); 
     140            $_MIDCOM->add_jsonload('protoToolbarOnload()'); 
     141        } 
     142        else 
     143        { 
     144            $_MIDCOM->add_link_head( 
     145                array 
     146                ( 
     147                    'rel'   => 'stylesheet', 
     148                    'type'  => 'text/css', 
     149                    'media' => 'screen', 
     150                    'href'  => $GLOBALS['midcom_config']['toolbars_simple_css_path'], 
     151                ) 
     152            ); 
     153        } 
     154         
    140155        // We've included CSS and JS, path is clear for centralized mode 
    141156        $this->_enable_centralized = true; 
     157    } 
     158 
     159    function get_class_magic_default_privileges() 
     160    { 
     161        $privileges = parent::get_class_magic_default_privileges(); 
     162        return $privileges; 
    142163    } 
    143164 
     
    10071028 
    10081029        $this->_centralized_mode = true; 
    1009  
    1010         echo "<div id=\"protoToolbar-{$this->type}\" style=\"display: none;\">\n"; 
    1011         echo "    <div id=\"protoToolbar-{$this->type}-logos\">\n"; 
     1030         
     1031        $use_protoToolbar = false; 
     1032        $toolbar_style = ""; 
     1033         
     1034        if ($_MIDCOM->auth->can_user_do('midcom:ajax', null, 'midcom_services_toolbars')) 
     1035        { 
     1036            $use_protoToolbar = true; 
     1037            $toolbar_id = "protoToolbar-{$this->type}"; 
     1038            $toolbar_style = "display: none;"; 
     1039             
     1040        } 
     1041        else 
     1042        { 
     1043            $toolbar_id = "midcom_services_toolbars_simple"; 
     1044        } 
     1045         
     1046        echo "<div id=\"{$toolbar_id}\" style=\"{$toolbar_style}\">\n"; 
     1047        echo "    <div id=\"{$toolbar_id}-logos\">\n"; 
    10121048        echo "        <a href=\"" . $_MIDCOM->get_page_prefix() . "midcom-exec-midcom/about.php\">\n"; 
    1013         echo "            <img src=\"" . MIDCOM_STATIC_URL . "/Javascript_protoToolkit/images/midgard-logo.png\" width=\"16\" height=\"16\" alt=\"Midgard\" />\n"; 
     1049        echo "            <img src=\"" . MIDCOM_STATIC_URL . "/midcom.services.toolbars/images/midgard-logo.png\" width=\"16\" height=\"16\" alt=\"Midgard\" />\n"; 
    10141050        echo "        </a>\n"; 
    10151051        echo "    </div>\n"; 
    1016         echo "    <div id=\"protoToolbar-{$this->type}-content\">\n"; 
     1052        echo "    <div id=\"{$toolbar_id}-content\">\n"; 
    10171053        echo "        <div id=\"item-page\" class=\"item\">\n"; 
    10181054        echo "            <span class=\"toolbar_list_class page\">". $_MIDCOM->i18n->get_string('page', 'midcom') . "</span>\n"; 
     
    10321068        echo "        </div>\n"; 
    10331069        echo "    </div>\n"; 
    1034         echo "     <div class=\"dragbar\"></div>\n"; 
    1035         echo "</div>\n"; 
     1070 
     1071        if ($use_protoToolbar) 
     1072        { 
     1073            echo "     <div class=\"dragbar\"></div>\n";             
     1074        } 
     1075 
     1076        echo "</div>\n";         
    10361077    } 
    10371078}