index 0e37c5daa588fdffafc880fd1f88980586a7359a..4e5e5dd0d15b5d55e1de8d53c42e067c7384ffa3 100644 (file)
function gen_menu()
{
if ($this->menu == ""){
- $cfg= $this->config->data['MENU'];
$this->checkMenu();
$cfg= $this->config->data['MENU'];
$menu = "\n<div class='navigation'>";
}
$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'>
+ // 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\");
+ \"main.php?plug=\" + id + \"&reset=1\");
}
</script>
- ";
+ ";
+ }
// Return the generated/cached gosa menu.
return ($this->menu);
function show_iconmenu()
{
global $class_mapping;
+
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.= "\n <div class='container-element' style='width: 25%;' onclick='openPlugin({$index})'> ";
+ $this->iconmenu.= "\n <div class='icon-menu-item' style='background-image: url({$image});'>";
+ $this->iconmenu.= "\n <h1>{$plHeadline}</h1>";
+ $this->iconmenu.= "\n <p>{$plDescription}</p>";
+ $this->iconmenu.= "\n </div>";
+ $this->iconmenu.= "\n </div>\n";
+ $col++ ;
}
}
-
}
-
- /* Write menu output */
return ($this->iconmenu);
}