3 <meta http-equiv="content-type" content="text/html; charset={$smarty.const.CHARSET}">
4 <meta name="viewport" content="width=device-width, initial-scale=1.0">
5 <link rel="icon" href="../favicon.ico" type="image/x-icon">
6 <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
7 <link href="../{$smarty.const.DEFAULT_CSS}" rel="stylesheet" type="text/css">
8 {if $i18n.language.rtl}
9 <link href="../{$smarty.const.RTL_CSS}" rel="stylesheet" type="text/css">
11 <title>Time Tracker{if $title} - {$title}{/if}</title>
12 <script src="../js/strftime.js"></script>
14 {* Setup locale for strftime *}
17 <script src="../js/strptime.js"></script>
20 <body leftmargin="0" topmargin="0" marginheight="0" marginwidth="0" {$onload}>
22 {assign var="tab_width" value="300"}
24 <table height="100%" cellspacing="0" cellpadding="0" border="0" style="margin-left: auto; margin-right: auto;">
26 <td valign="top" align="center"> <!-- This is to centrally align all our content. -->
29 <table cellspacing="0" cellpadding="0" width="100%" border="0">
31 {if $user->custom_logo}
34 <td bgcolor="#a6ccf7" background="../images/top_bg.gif" align="center">
36 <table cellspacing="0" cellpadding="0" width="{$tab_width}" border="0">
39 <table id="page_logo" cellspacing="0" cellpadding="0" width="100%" border="0">
40 <tr><td height="6" colspan="2"><img width="1" height="6" src="../images/1x1.gif" border="0"></td></tr>
42 {if $user->custom_logo}
43 <td height="55" align="center"><img alt="Time Tracker" width="300" height="43" src="{$mobile_custom_logo}" border="0"></td>
45 <td height="55" align="center"><img alt="Anuko Time Tracker" width="300" height="43" src="../images/tt_logo.png" border="0"></td>
55 <!-- end of top image -->
58 {if $user->can('administer_site')}
60 <!-- sub menu for admin -->
61 <table id="sub_menu_admin" cellspacing="0" cellpadding="3" width="100%" border="0">
63 <td align="center" bgcolor="#d9d9d9" height="17" style="background-repeat: repeat-x;" background="../images/subm_bg.gif">
64 <a class="mainMenu" href="admin_groups.php">{$i18n.menu.groups}</a> ·
65 <a class="mainMenu" href="admin_options.php">{$i18n.menu.options}</a>
69 <!-- end of sub menu for admin -->
72 <!-- sub menu for authorized user -->
73 <table id="sub_menu_authorized_user" cellspacing="0" cellpadding="3" width="100%" border="0">
75 <td align="center" bgcolor="#d9d9d9" height="17" style="background-repeat: repeat-x;" background="../images/subm_bg.gif">
76 {if $user->exists() && ($user->can('track_own_time') || $user->can('track_time'))}
77 <a class="mainMenu" href="time.php">{$i18n.menu.time}</a>
79 {if $user->exists() && $user->isPluginEnabled('ex') && ($user->can('track_own_expenses') || $user->can('track_expenses'))}
80 · <a class="mainMenu" href="expenses.php">{$i18n.menu.expenses}</a>
82 {if ($user->can('view_own_projects') || $user->can('manage_projects')) && ($smarty.const.MODE_PROJECTS == $user->getTrackingMode() || $smarty.const.MODE_PROJECTS_AND_TASKS == $user->getTrackingMode())}
83 · <a class="mainMenu" href="projects.php">{$i18n.menu.projects}</a>
85 {if ($user->can('view_own_tasks') || $user->can('manage_tasks')) && $smarty.const.MODE_PROJECTS_AND_TASKS == $user->getTrackingMode()}
86 · <a class="mainMenu" href="tasks.php">{$i18n.menu.tasks}</a>
88 {if $user->can('view_users') || $user->can('manage_users')}
89 · <a class="mainMenu" href="users.php">{$i18n.menu.users}</a>
91 {if $user->isPluginEnabled('cl') && ($user->can('view_own_clients') || $user->can('manage_clients'))}
92 · <a class="mainMenu" href="clients.php">{$i18n.menu.clients}</a>
97 <!-- end of sub menu for authorized user -->
101 <!-- output errors -->
103 <table id="page_errors" cellspacing="4" cellpadding="7" width="{$tab_width}" border="0">
106 {foreach $err->getErrors() as $error}
107 {$error.message}<br> {* No need to escape as they are not coming from user and may contain a link. *}
113 <!-- end of output errors -->
115 <!-- output messages -->
117 <table id="page_messages" cellspacing="4" cellpadding="7" width="{$tab_width}" border="0">
119 <td class="info_message">
120 {foreach $msg->getErrors() as $message}
121 {$message.message}<br> {* No need to escape. *}
127 <!-- end of output messages -->