1<?php 2/********************************************************************** 3 Copyright (C) FrontAccounting, LLC. 4 Released under the terms of the GNU General Public License, GPL, 5 as published by the Free Software Foundation, either version 3 6 of the License, or (at your option) any later version. 7 This program is distributed in the hope that it will be useful, 8 but WITHOUT ANY WARRANTY; without even the implied warranty of 9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 10 See the License here <http://www.gnu.org/licenses/gpl-3.0.html>. 11***********************************************************************/ 12 class renderer 13 { 14 function get_icon($category) 15 { 16 global $path_to_root, $show_menu_category_icons; 17 18 if ($show_menu_category_icons) 19 $img = $category == '' ? 'right.gif' : $category.'.png'; 20 else 21 $img = 'right.gif'; 22 return "<img src='$path_to_root/themes/cool/images/$img' style='vertical-align:middle;' border='0'> "; 23 } 24 25 function wa_header() 26 { 27 page(_($help_context = "Main Menu"), false, true); 28 } 29 30 function wa_footer() 31 { 32 end_page(false, true); 33 } 34 35 function menu_header($title, $no_menu, $is_index) 36 { 37 global $path_to_root, $help_base_url, $db_connections; 38 echo "<table class='callout_main' border='0' cellpadding='0' cellspacing='0'>\n"; 39 echo "<tr>\n"; 40 echo "<td colspan='2' rowspan='2'>\n"; 41 42 echo "<table class='main_page' border='0' cellpadding='0' cellspacing='0'>\n"; 43 echo "<tr>\n"; 44 echo "<td>\n"; 45 echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n"; 46 echo "<tr>\n"; 47 echo "<td class='quick_menu'>\n"; // tabs 48 if (!$no_menu) 49 { 50 $applications = $_SESSION['App']->applications; 51 $local_path_to_root = $path_to_root; 52 $sel_app = $_SESSION['sel_app']; 53 echo "<table cellpadding='0' cellspacing='0' width='100%'><tr><td>"; 54 echo "<div class='tabs'>"; 55 foreach($applications as $app) 56 { 57 if ($_SESSION["wa_current_user"]->check_application_access($app)) 58 { 59 $acc = access_string($app->name); 60 echo "<a class='".($sel_app == $app->id ? 'selected' : 'menu_tab') 61 ."' href='$local_path_to_root/index.php?application=".$app->id 62 ."'$acc[1]>" .$acc[0] . "</a>"; 63 } 64 } 65 echo "</div>"; 66 echo "</td></tr></table>"; 67 // top status bar 68 $img = "<img src='$local_path_to_root/themes/cool/images/login.gif' width='14' height='14' border='0' alt='"._('Logout')."'> "; 69 $himg = "<img src='$local_path_to_root/themes/cool/images/help.gif' width='14' height='14' border='0' alt='"._('Help')."'> "; 70 71 echo "<table class='logoutBar'>"; 72 echo "<tr><td class='headingtext3'>" . $db_connections[$_SESSION["wa_current_user"]->company]["name"] . " | " . $_SERVER['SERVER_NAME'] . " | " . $_SESSION["wa_current_user"]->name . "</td>"; 73 $indicator = "$path_to_root/themes/".user_theme(). "/images/ajax-loader.gif"; 74 echo "<td class='logoutBarRight'><img id='ajaxmark' src='$indicator' align='center' style='visibility:hidden;' alt='ajaxmark'></td>"; 75 echo " <td class='logoutBarRight'><a class='shortcut' href='$path_to_root/admin/display_prefs.php?'>" . _("Preferences") . "</a> \n"; 76 echo " <a class='shortcut' href='$path_to_root/admin/change_current_user_password.php?selected_id=" . $_SESSION["wa_current_user"]->username . "'>" . _("Change password") . "</a> \n"; 77 78 if ($help_base_url != null) 79 { 80 echo "$himg<a target = '_blank' onclick=" .'"'."javascript:openWindow(this.href,this.target); return false;".'" '. "href='". help_url()."'>" . _("Help") . "</a> "; 81 } 82 echo "$img<a class='shortcut' href='$local_path_to_root/access/logout.php?'>" . _("Logout") . "</a> "; 83 echo "</td></tr></table>"; 84 } 85 echo "</td></tr></table>"; 86 if ($no_menu) 87 echo "<br>"; 88 elseif ($title && !$is_index) 89 { 90 echo "<center><table id='title'><tr><td width='100%' class='titletext'>$title</td>" 91 ."<td align=right>" 92 .(user_hints() ? "<span id='hints'></span>" : '') 93 ."</td>" 94 ."</tr></table></center>"; 95 } 96 } 97 98 function menu_footer($no_menu, $is_index) 99 { 100 global $version, $allow_demo_mode, $app_title, $power_url, 101 $power_by, $path_to_root, $Pagehelp, $Ajax; 102 include_once($path_to_root . "/includes/date_functions.inc"); 103 104 echo "</td></tr></table>\n"; // 'main_page' 105 if ($no_menu == false) // bottom status line 106 { 107 if ($is_index) 108 echo "<table class='bottomBar'>\n"; 109 else 110 echo "<table class='bottomBar2'>\n"; 111 echo "<tr>"; 112 if (isset($_SESSION['wa_current_user'])) { 113 $phelp = implode('; ', $Pagehelp); 114 echo "<td class='bottomBarCell'>" . Today() . " | " . Now() . "</td>\n"; 115 $Ajax->addUpdate(true, 'hotkeyshelp', $phelp); 116 echo "<td id='hotkeyshelp'>".$phelp."</td>"; 117 } 118 echo "</tr></table>\n"; 119 } 120 echo "</td></tr> </table>\n"; // 'callout_main' 121 if ($no_menu == false) 122 { 123 echo "<table align='center' id='footer'>\n"; 124 echo "<tr>\n"; 125 echo "<td align='center' class='footer'><a target='_blank' href='$power_url' tabindex='-1'><font color='#ffffff'>$app_title $version - " . _("Theme:") . " " . user_theme() ." - ".show_users_online()."</font></a></td>\n"; 126 echo "</tr>\n"; 127 echo "<tr>\n"; 128 echo "<td align='center' class='footer'><a target='_blank' href='$power_url' tabindex='-1'><font color='#ffff00'>$power_by</font></a></td>\n"; 129 echo "</tr>\n"; 130 if ($allow_demo_mode==true) 131 { 132 echo "<tr>\n"; 133 //echo "<td><br><div align='center'><a href='http://sourceforge.net'><img src='http://sourceforge.net/sflogo.php?group_id=89967&type=5' alt='SourceForge.net Logo' width='210' height='62' border='0' align='center' /></a></div></td>\n"; 134 echo "</tr>\n"; 135 } 136 echo "</table><br><br>\n"; 137 } 138 } 139 140 function display_applications(&$waapp) 141 { 142 global $path_to_root; 143 144 $selected_app = $waapp->get_selected_application(); 145 if (!$_SESSION["wa_current_user"]->check_application_access($selected_app)) 146 return; 147 148 if (method_exists($selected_app, 'render_index')) 149 { 150 $selected_app->render_index(); 151 return; 152 } 153 154 echo "<table width='100%' cellpadding='0' cellspacing='0'>"; 155 foreach ($selected_app->modules as $module) 156 { 157 if (!$_SESSION["wa_current_user"]->check_module_access($module)) 158 continue; 159 // image 160 echo "<tr>"; 161 // values 162 echo "<td valign='top' class='menu_group'>"; 163 echo "<table border=0 width='100%'>"; 164 echo "<tr><td class='menu_group'>"; 165 echo $module->name; 166 echo "</td></tr><tr>"; 167 echo "<td class='menu_group_items'>"; 168 169 foreach ($module->lappfunctions as $appfunction) 170 { 171 $img = $this->get_icon($appfunction->category); 172 if ($appfunction->label == "") 173 echo " <br>"; 174 elseif ($_SESSION["wa_current_user"]->can_access_page($appfunction->access)) 175 { 176 echo $img.menu_link($appfunction->link, $appfunction->label)."<br>\n"; 177 } 178 elseif (!$_SESSION["wa_current_user"]->hide_inaccessible_menu_items()) 179 { 180 echo $img.'<span class="inactive">' 181 .access_string($appfunction->label, true) 182 ."</span><br>\n"; 183 } 184 } 185 echo "</td>"; 186 if (sizeof($module->rappfunctions) > 0) 187 { 188 echo "<td width='50%' class='menu_group_items'>"; 189 foreach ($module->rappfunctions as $appfunction) 190 { 191 $img = $this->get_icon($appfunction->category); 192 if ($appfunction->label == "") 193 echo " <br>"; 194 elseif ($_SESSION["wa_current_user"]->can_access_page($appfunction->access)) 195 { 196 echo $img.menu_link($appfunction->link, $appfunction->label)."<br>\n"; 197 } 198 elseif (!$_SESSION["wa_current_user"]->hide_inaccessible_menu_items()) 199 { 200 echo $img.'<span class="inactive">' 201 .access_string($appfunction->label, true) 202 ."</span><br>\n"; 203 } 204 } 205 echo "</td>"; 206 } 207 208 echo "</tr></table></td></tr>"; 209 } 210 echo "</table>"; 211 } 212 } 213?>