index 0cf5f9fdcbb05b118358b253e55969c68b35ff6d..a0e13d4fd6557bf76eee48863b53d0cbee0ff95a 100644 (file)
}
- /*! \brief Generates an array containing plugin names (headlines) and theirs ids.
- * This is just used in the helpviewer.php
- */
- function gen_headlines()
- {
- $ret = array();
- if(count($this->headlines) == 0){
- foreach($this->config->data['MENU'] as $headline => $plugins){
- foreach( $plugins as $id => $plug){
- if (plugin_available($plug['CLASS'])){
- $attrs = (get_class_vars($plug['CLASS']));
- $ret[$id]['HEADLINE'] = $headline;
- $ret[$id]['NAME'] = $attrs['plHeadline'];
- }
- }
- }
- $this->headlines = $ret;
- }
- return($this->headlines);
- }
-
-
/*! \brief Check the accessibility of the configured plugins.
* We may simply have now permissions to access some plugins
* but some may be broken or missing!.
function gen_menu()
{
if ($this->menu == ""){
- $cfg= $this->config->data['MENU'];
$this->checkMenu();
$cfg= $this->config->data['MENU'];
$menu = "\n<div class='navigation'>";
$this->allowed_plugins[$index] = $index;
$class= "";
if($id == count($plug)) $class=" class='menu-last' \n ";
- $menu .= "\n <li $class onClick='return question(\"".
- _("You are currently editing a database entry. Do you want to dismiss the changes?")."\",
- \"$href\");'>".$plHeadline."</li>";
+ $menu .= "\n <li $class onClick='return openPlugin({$index});'>".$plHeadline."</li>";
}
$menu.= "\n </ul>";
$menu.= "\n <div></div>\n";
}
$menu.= "\n</div>";
$this->menu = $menu;
+
+ // Add javascript method to print out warning messages while leaving an unsaved form.
+ // We do it in here to get the string translated.
+ $this->menu .= "
+ <script language='javascript' type='text/javascript'>
+ function openPlugin(id){
+ return question(\""._("You are currently editing a database entry. Do you want to dismiss the changes?")."\",
+ \"main.php?plug=\" + id + \"&reset=1\");
+ }
+ </script>
+ ";
}
// Return the generated/cached gosa menu.
function show_iconmenu()
{
global $class_mapping;
+
+ $this->iconmenu = "";
if ($this->iconmenu == ""){
$cfg= $this->config->data['MENU'];
-
- if (isset($this->config->current['ICONSIZE'])){
- list($x, $y)= explode("x", $this->config->get_cfg_value("iconsize"));
- $isize= "width=\"$x\" height=\"$y\"";
- } else {
- $isize= "";
- }
-
- /* Parse headlines */
foreach ($cfg as $headline => $plug){
- $col= 1;
- $menu= "<h1 class=\"menuheader\">".
- _($headline)."</h1>\n<table summary=\"\" style=\"width:100%;".
- "font-size: 14px;\" cellpadding=7 border=0>\n<tr>\n";
- $entries= "";
+ $col= 0;
- foreach ($plug as $info){
+ $this->iconmenu .= "\n <div class='clear'></div>\n";
+ $this->iconmenu .= "\n <h3>". _($headline)."</h3>\n";
- if (!plugin_available($info['CLASS'])){
- continue;
- }
+ foreach ($plug as $info){
- /* Read information from class variable */
+ // Get Plugin info
$vars= get_class_vars($info['CLASS']);
$plHeadline= $vars['plHeadline'];
$plDescription= $vars['plDescription'];
- if (isset($vars['plIcon'])){
- $plIcon= $vars['plIcon'];
- } else {
- $plIcon= "plugin.png";
- }
-
+ $plIcon = (isset($vars['plIcon'])) ? $vars['plIcon']: "plugin.png";
$index= $this->get_index($info['CLASS']);
- $href = "main.php?plug=".$index."&reset=1";
-
/* Check if class is available. If the class doesn't exists display error symbol
- to avoid that a user clicks on a non existing plugin */
+ * to avoid that a user clicks on a non existing plugin
+ */
if(!$vars){
$plHeadline = $plDescription = _("Unknown");
$info['ICON'] = "error.png";
- $href="main.php?reset=1";
+ $index = '';
}
-
- if ($this->check_access($info['ACL'])){
-
- /* Load icon */
- if (isset($info['ICON'])){
- $image= get_template_path('images/'.$info['ICON']);
- } else {
- if(!preg_match("/\//",$plIcon)){
- $image= get_template_path("plugins/".preg_replace('%^.*/([^/]+)/[^/]+$%', '\1', $class_mapping[$info['CLASS']])."/images/$plIcon");
- }else{
- $image = $plIcon;
- }
- }
- if ($col > 5){
- $entries= $entries."</tr><tr>";
- $col = 1;
- }
- $entries= $entries."<td class=\"iconmenu\" style=\"width:20%;\" onClick='location.href=\"".$href."\"'".
- ">";
- if(session::global_get('js')){
- $entries.= "<img $isize border=0 align=middle src=\"$image".
- "\" alt=\"*\"> ".
- _($plHeadline);
- } else {
- $entries.= "<a class=\"iconmenu\" href=\"".$href."\">".
- "<img $isize border=0 align=middle src=\"$image".
- "\" alt=\"*\"> ".
- _($plHeadline)."</a>";
- }
- $entries.= "</td>\n";
- $col++ ;
-
+ // Detect the correct position of the plugin icon
+ if(!preg_match("/\//",$plIcon)){
+ $image= get_template_path("plugins/".preg_replace('%^.*/([^/]+)/[^/]+$%', '\1',
+ $class_mapping[$info['CLASS']])."/images/$plIcon");
+ }else{
+ $image = $plIcon;
}
- }
- /* Append to menu */
- if ($entries != ""){
- $this->iconmenu.= $menu.$entries;
-
- /* Fill up remaining columns */
- if ($col != 1){
- $col--;
- while ($col % 5){
- $this->iconmenu= $this->iconmenu.
- "<td style=\"width:20%\"> </td>\n";
- $col++;
- }
+ // Add a seperating row
+ if (($col % 4) == 0){
+ $this->iconmenu .= "\n <div class='clear'></div>\n";
}
- /* close table */
- $this->iconmenu= $this->iconmenu."</tr>\n</table>\n";
+ $this->iconmenu.=
+"
+ <div class='container-element' style='width: 25%;' onclick=\"openPlugin({$index})\">
+ <div class='icon-menu-item' style='background-image: url(".$image.");'>
+ <h1>".$plHeadline."</h1>
+ <p>".$plDescription."</p>
+ </div>
+ </div>
+";
+ $col++ ;
}
}
-
}
-
- /* Write menu output */
return ($this->iconmenu);
}
if(!isset($this->dirlist[$index])){
return ("");
}
- echo "../".$this->dirlist[$index];
return ("../".$this->dirlist[$index]);
}
$this->iconmenu ="";
}
+
+ /*! \brief Generates an array containing plugin names (headlines) and theirs ids.
+ * This is just used in the helpviewer.php
+ */
+ function gen_headlines()
+ {
+ $ret = array();
+ if(count($this->headlines) == 0){
+ foreach($this->config->data['MENU'] as $headline => $plugins){
+ foreach( $plugins as $id => $plug){
+ if (plugin_available($plug['CLASS'])){
+ $attrs = (get_class_vars($plug['CLASS']));
+ $ret[$id]['HEADLINE'] = $headline;
+ $ret[$id]['NAME'] = $attrs['plHeadline'];
+ }
+ }
+ }
+ $this->headlines = $ret;
+ }
+ return($this->headlines);
+ }
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>