Removed PHP closing tag in more files
authorNik Okuntseff <support@anuko.com>
Fri, 11 Mar 2016 01:32:34 +0000 (17:32 -0800)
committerNik Okuntseff <support@anuko.com>
Fri, 11 Mar 2016 01:32:34 +0000 (17:32 -0800)
63 files changed:
WEB-INF/templates/footer.tpl
access_denied.php
admin_options.php
admin_team_add.php
admin_team_delete.php
admin_team_edit.php
admin_teams.php
cf_custom_field_add.php
cf_custom_field_delete.php
cf_custom_field_edit.php
cf_custom_fields.php
cf_dropdown_option_add.php
cf_dropdown_option_delete.php
cf_dropdown_option_edit.php
cf_dropdown_options.php
charts.php
client_add.php
client_delete.php
client_edit.php
clients.php
cron.php
expense_delete.php
expense_edit.php
expenses.php
export.php
import.php
initialize.php
invoice_add.php
invoice_delete.php
invoice_send.php
invoice_view.php
invoices.php
login.php
logout.php
notification_add.php
notification_delete.php
notification_edit.php
notifications.php
password_change.php
password_reset.php
phpinfo.php
profile_edit.php
project_add.php
project_delete.php
project_edit.php
projects.php
register.php
report.php
report_send.php
reports.php
task_add.php
task_delete.php
task_edit.php
tasks.php
time.php
time_delete.php
time_edit.php
tofile.php
topdf.php
user_add.php
user_delete.php
user_edit.php
users.php

index fc7e306..8bd37de 100644 (file)
@@ -12,7 +12,7 @@
       <br>
       <table cellspacing="0" cellpadding="4" width="100%" border="0">
         <tr>
-          <td align="center">&nbsp;Anuko Time Tracker 1.9.13.3401 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
+          <td align="center">&nbsp;Anuko Time Tracker 1.9.13.3402 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
             <a href="https://www.anuko.com/lp/tt_4.htm" target="_blank">{$i18n.footer.credits}</a> |
             <a href="https://www.anuko.com/lp/tt_5.htm" target="_blank">{$i18n.footer.license}</a> |
             <a href="https://www.anuko.com/lp/tt_7.htm" target="_blank">{$i18n.footer.improve}</a>
index f046a53..05983f5 100644 (file)
@@ -34,4 +34,3 @@ if ($auth->isAuthenticated()) $GLOBALS['SMARTY']->assign('authenticated', true);
 $smarty->assign('title', $i18n->getKey('label.error'));
 $smarty->assign('content_page_name', 'access_denied.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index ac90921..435449d 100644 (file)
@@ -68,4 +68,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.options'));
 $smarty->assign('content_page_name', 'admin_options.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index b41571c..22176d1 100644 (file)
@@ -101,4 +101,3 @@ $smarty->assign('onload', 'onLoad="document.teamForm.team.focus()"');
 $smarty->assign('content_page_name', 'admin_team_add.tpl');
 $smarty->assign('title', $i18n->getKey('title.create_team'));
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 2500318..2ef0983 100644 (file)
@@ -65,4 +65,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.delete_team'));
 $smarty->assign('content_page_name', 'admin_team_delete.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index c6181a6..807810d 100644 (file)
@@ -120,4 +120,3 @@ $smarty->assign('onload', 'onLoad="document.teamForm.manager_name.focus()"');
 $smarty->assign('title', $i18n->getKey('title.edit_team'));
 $smarty->assign('content_page_name', 'admin_team_edit.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 73777d2..a1f848a 100644 (file)
@@ -40,4 +40,3 @@ $smarty->assign('teams', ttTeamHelper::getTeams());
 $smarty->assign('title', $i18n->getKey('title.teams'));
 $smarty->assign('content_page_name', 'admin_teams.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 1818b57..fc35cf1 100644 (file)
@@ -72,4 +72,3 @@ $smarty->assign('onload', 'onLoad="document.fieldForm.name.focus()"');
 $smarty->assign('title', $i18n->getKey('title.cf_add_custom_field'));
 $smarty->assign('content_page_name', 'cf_custom_field_add.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 6f42e31..7ae62ac 100644 (file)
@@ -74,4 +74,3 @@ $smarty->assign('onload', 'onLoad="document.fieldDeleteForm.btn_cancel.focus()"'
 $smarty->assign('title', $i18n->getKey('title.cf_delete_custom_field'));
 $smarty->assign('content_page_name', 'cf_custom_field_delete.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 796ad17..71ffd39 100644 (file)
@@ -79,4 +79,3 @@ $smarty->assign('onload', 'onLoad="document.fieldForm.name.focus()"');
 $smarty->assign('title', $i18n->getKey('title.cf_edit_custom_field'));
 $smarty->assign('content_page_name', 'cf_custom_field_edit.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 942817d..35ae94d 100644 (file)
@@ -58,4 +58,3 @@ $smarty->assign('custom_fields', $fields);
 $smarty->assign('title', $i18n->getKey('title.cf_custom_fields'));
 $smarty->assign('content_page_name', 'cf_custom_fields.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index d13c33b..1eca213 100644 (file)
@@ -70,4 +70,3 @@ $smarty->assign('onload', 'onLoad="document.optionAddForm.name.focus()"');
 $smarty->assign('title', $i18n->getKey('title.cf_add_dropdown_option'));
 $smarty->assign('content_page_name', 'cf_dropdown_option_add.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 8ae9456..8adb43a 100644 (file)
@@ -76,4 +76,3 @@ $smarty->assign('onload', 'onLoad="document.optionDeleteForm.btn_cancel.focus()"
 $smarty->assign('title', $i18n->getKey('title.cf_delete_dropdown_option'));
 $smarty->assign('content_page_name', 'cf_dropdown_option_delete.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index bd19043..ddea967 100644 (file)
@@ -72,4 +72,3 @@ $smarty->assign('onload', 'onLoad="document.optionEditForm.name.focus()"');
 $smarty->assign('title', $i18n->getKey('title.cf_edit_dropdown_option'));
 $smarty->assign('content_page_name', 'cf_dropdown_option_edit.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index c8713ca..e12900b 100644 (file)
@@ -49,4 +49,3 @@ $smarty->assign('options', $options);
 $smarty->assign('title', $i18n->getKey('title.cf_dropdown_options'));
 $smarty->assign('content_page_name', 'cf_dropdown_options.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 5e26978..5bf9034 100644 (file)
@@ -227,4 +227,3 @@ $smarty->assign('forms', array($chart_form->getName() => $chart_form->toArray())
 $smarty->assign('title', $i18n->getKey('title.charts'));
 $smarty->assign('content_page_name', 'charts.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 503b940..9363e59 100644 (file)
@@ -86,4 +86,3 @@ $smarty->assign('onload', 'onLoad="document.clientForm.name.focus()"');
 $smarty->assign('title', $i18n->getKey('title.add_client'));
 $smarty->assign('content_page_name', 'client_add.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index d03ef9c..7cf05eb 100644 (file)
@@ -73,4 +73,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.delete_client'));
 $smarty->assign('content_page_name', 'client_delete.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 400286d..c13d42e 100644 (file)
@@ -118,4 +118,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.edit_client'));
 $smarty->assign('content_page_name', 'client_edit.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 61c6658..6dcfe4a 100644 (file)
@@ -41,4 +41,3 @@ $smarty->assign('inactive_clients', ttTeamHelper::getInactiveClients($user->team
 $smarty->assign('title', $i18n->getKey('title.clients'));
 $smarty->assign('content_page_name', 'clients.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 22b4991..908c890 100644 (file)
--- a/cron.php
+++ b/cron.php
@@ -80,5 +80,3 @@ while ($val = $res->fetchRow()) {
 }
 
 echo "Done!";
-
-?>
\ No newline at end of file
index e8828e0..7100d08 100644 (file)
@@ -87,4 +87,3 @@ $smarty->assign('forms', array($form->getName() => $form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.delete_expense'));
 $smarty->assign('content_page_name', 'expense_delete.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index f9c94dd..806a02f 100644 (file)
@@ -215,4 +215,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.edit_expense'));
 $smarty->assign('content_page_name', 'expense_edit.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 9a08375..1e4b7f1 100644 (file)
@@ -203,4 +203,3 @@ $smarty->assign('timestring', $selected_date->toString($user->date_format));
 $smarty->assign('title', $i18n->getKey('title.expenses'));
 $smarty->assign('content_page_name', 'expenses.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 4bb9db3..e0894da 100644 (file)
@@ -81,4 +81,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.export'));
 $smarty->assign('content_page_name', 'export.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 47493db..a76af18 100644 (file)
@@ -53,4 +53,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()) );
 $smarty->assign('title', $i18n->getKey('title.import'));
 $smarty->assign('content_page_name', 'import.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index ce6acdf..c6226fc 100644 (file)
@@ -248,4 +248,3 @@ function init_js_date_locale()
     };";
   $smarty->assign('js_date_locale', $js);
 }
-?>
\ No newline at end of file
index 4a25ddc..fb2c7fe 100644 (file)
@@ -96,4 +96,3 @@ $smarty->assign('onload', 'onLoad="document.invoiceForm.number.focus()"');
 $smarty->assign('title', $i18n->getKey('title.add_invoice'));
 $smarty->assign('content_page_name', 'invoice_add.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 9fb7c43..7ef50f8 100644 (file)
@@ -71,4 +71,3 @@ $smarty->assign('onload', 'onLoad="document.invoiceDeleteForm.btn_cancel.focus()
 $smarty->assign('title', $i18n->getKey('title.delete_invoice'));
 $smarty->assign('content_page_name', 'invoice_delete.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 1dd2323..9f933a0 100644 (file)
@@ -99,4 +99,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('onload', 'onLoad="document.mailForm.'.($cl_receiver?'comment':'receiver').'.focus()"');
 $smarty->assign('content_page_name', 'mail.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index a91ddf1..f05b766 100644 (file)
@@ -86,5 +86,4 @@ $smarty->assign('invoice_items', $invoice_items);
 $smarty->assign('colspan', $colspan);
 $smarty->assign('title', $i18n->getKey('title.view_invoice'));
 $smarty->assign('content_page_name', 'invoice_view.tpl');
-$smarty->display('index.tpl'); 
-?>
\ No newline at end of file
+$smarty->display('index.tpl');
index f495292..ad0b285 100644 (file)
@@ -42,4 +42,3 @@ $smarty->assign('invoices', $invoices);
 $smarty->assign('title', $i18n->getKey('title.invoices'));
 $smarty->assign('content_page_name', 'invoices.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index c9ddc81..a6195b2 100644 (file)
--- a/login.php
+++ b/login.php
@@ -93,4 +93,3 @@ $smarty->assign('title', $i18n->getKey('title.login'));
 $smarty->assign('content_page_name', 'login.tpl');
 $smarty->assign('about_text', $i18n->getKey('form.login.about'));
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index adbcd54..e2c6cfe 100644 (file)
@@ -31,4 +31,3 @@ $auth->doLogout();
 session_unset();
 
 header('Location: login.php');
-?>
\ No newline at end of file
index 4d1b457..52e4193 100644 (file)
@@ -91,4 +91,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.add_notification'));
 $smarty->assign('content_page_name', 'notification_add.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 62f11ef..8c3681b 100644 (file)
@@ -67,4 +67,3 @@ $smarty->assign('onload', 'onLoad="document.notificationDeleteForm.btn_cancel.fo
 $smarty->assign('title', $i18n->getKey('title.delete_notification'));
 $smarty->assign('content_page_name', 'notification_delete.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index e029c6c..d04430b 100644 (file)
@@ -97,4 +97,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.add_notification'));
 $smarty->assign('content_page_name', 'notification_edit.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 5f2f6d2..3848f86 100644 (file)
@@ -54,4 +54,3 @@ $smarty->assign('notifications', $notifications);
 $smarty->assign('title', $i18n->getKey('title.notifications'));
 $smarty->assign('content_page_name', 'notifications.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 82ba11a..a44a505 100644 (file)
@@ -94,4 +94,3 @@ $smarty->assign('forms', array($form->getName() => $form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.change_password'));
 $smarty->assign('content_page_name', 'password_change.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index ccb1960..cb84c00 100644 (file)
@@ -117,4 +117,3 @@ $smarty->assign('onload', 'onLoad="document.resetPasswordForm.login.focus()"');
 $smarty->assign('title', $i18n->getKey('title.reset_password'));
 $smarty->assign('content_page_name', 'password_reset.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index c1b42ed..61ace19 100644 (file)
@@ -1,4 +1,2 @@
 <?php
 phpinfo();
-?>
-
index cdffd86..d567010 100644 (file)
@@ -268,4 +268,3 @@ $smarty->assign('onload', 'onLoad="handlePluginCheckboxes()"');
 $smarty->assign('title', $i18n->getKey('title.profile'));
 $smarty->assign('content_page_name', 'profile_edit.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 2bdb77b..97ccd43 100644 (file)
@@ -93,4 +93,3 @@ $smarty->assign('onload', 'onLoad="document.projectForm.project_name.focus()"');
 $smarty->assign('title', $i18n->getKey('title.add_project'));
 $smarty->assign('content_page_name', 'project_add.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index c49841b..f9f388c 100644 (file)
@@ -67,4 +67,3 @@ $smarty->assign('onload', 'onLoad="document.projectDeleteForm.btn_cancel.focus()
 $smarty->assign('title', $i18n->getKey('title.delete_project'));
 $smarty->assign('content_page_name', 'project_delete.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 2726005..d43b6a8 100644 (file)
@@ -131,4 +131,3 @@ $smarty->assign('onload', 'onLoad="document.projectForm.name.focus()"');
 $smarty->assign('title', $i18n->getKey('title.edit_project'));
 $smarty->assign('content_page_name', 'project_edit.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 8f1ce5c..cc79e4a 100644 (file)
@@ -47,4 +47,3 @@ $smarty->assign('inactive_projects', $inactive_projects);
 $smarty->assign('title', $i18n->getKey('title.projects'));
 $smarty->assign('content_page_name', 'projects.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 67f7d10..1b3038f 100644 (file)
@@ -107,4 +107,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('onload', 'onLoad="document.profileForm.team.focus()"');
 $smarty->assign('content_page_name', 'register.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 5ed7108..6e68c17 100644 (file)
@@ -120,4 +120,3 @@ $smarty->assign('bean', $bean);
 $smarty->assign('title', $i18n->getKey('title.report').": ".$totals['start_date']." - ".$totals['end_date']);
 $smarty->assign('content_page_name', 'report.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 18e731e..ce698e3 100644 (file)
@@ -96,4 +96,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('onload', 'onLoad="document.mailForm.'.($cl_receiver?'comment':'receiver').'.focus()"');
 $smarty->assign('content_page_name', 'mail.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 9e18a0b..03dbb9b 100644 (file)
@@ -331,4 +331,3 @@ $smarty->assign('onload', 'onLoad="handleCheckboxes()"');
 $smarty->assign('title', $i18n->getKey('title.reports'));
 $smarty->assign('content_page_name', 'reports.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index b37f106..d50998c 100644 (file)
@@ -82,4 +82,3 @@ $smarty->assign('onload', 'onLoad="document.taskForm.name.focus()"');
 $smarty->assign('title', $i18n->getKey('title.add_task'));
 $smarty->assign('content_page_name', 'task_add.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 3329264..b7b33c2 100644 (file)
@@ -67,4 +67,3 @@ $smarty->assign('onload', 'onLoad="document.taskDeleteForm.btn_cancel.focus()"')
 $smarty->assign('title', $i18n->getKey('title.delete_task'));
 $smarty->assign('content_page_name', 'task_delete.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 3a03d42..47722f6 100644 (file)
@@ -112,4 +112,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.edit_task'));
 $smarty->assign('content_page_name', 'task_edit.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 6258831..cf7f607 100644 (file)
--- a/tasks.php
+++ b/tasks.php
@@ -41,4 +41,3 @@ $smarty->assign('inactive_tasks', ttTeamHelper::getInactiveTasks($user->team_id)
 $smarty->assign('title', $i18n->getKey('title.tasks'));
 $smarty->assign('content_page_name', 'tasks.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index e600968..60b396a 100644 (file)
--- a/time.php
+++ b/time.php
@@ -371,4 +371,3 @@ $smarty->assign('timestring', $selected_date->toString($user->date_format));
 $smarty->assign('title', $i18n->getKey('title.time'));
 $smarty->assign('content_page_name', 'time.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 7125a57..84e7bc1 100644 (file)
@@ -101,4 +101,3 @@ $smarty->assign('forms', array($form->getName() => $form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.delete_time_record'));
 $smarty->assign('content_page_name', 'time_delete.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 4c255db..36f8cc9 100644 (file)
@@ -407,4 +407,3 @@ $smarty->assign('onload', 'onLoad="fillDropdowns()"');
 $smarty->assign('title', $i18n->getKey('title.edit_time_record'));
 $smarty->assign('content_page_name', 'time_edit.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 3d264e0..a784a1e 100644 (file)
@@ -225,4 +225,3 @@ if ('csv' == $type) {
     }
   }
 }
-?>
\ No newline at end of file
index d1c954e..286724f 100644 (file)
--- a/topdf.php
+++ b/topdf.php
@@ -405,4 +405,3 @@ $pdf->writeHTML($html, true, false, false, false, '');
 $pdf->Output('timesheet.pdf', 'D'); // D is for downloads.
 
 // End of of TCPDF code.
-?>
\ No newline at end of file
index cf2fe76..2d0b964 100644 (file)
@@ -172,4 +172,3 @@ $smarty->assign('onload', 'onLoad="document.userForm.name.focus();handleClientCo
 $smarty->assign('title', $i18n->getKey('title.add_user'));
 $smarty->assign('content_page_name', 'user_add.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index aed2746..6171f7f 100644 (file)
@@ -97,4 +97,3 @@ $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('title', $i18n->getKey('title.delete_user'));
 $smarty->assign('content_page_name', 'user_delete.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index e51142e..a5311e0 100644 (file)
@@ -235,4 +235,3 @@ $smarty->assign('user_id', $user_id);
 $smarty->assign('title', $i18n->getKey('title.edit_user'));
 $smarty->assign('content_page_name', 'user_edit.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file
index 9de7223..3a3b146 100644 (file)
--- a/users.php
+++ b/users.php
@@ -49,4 +49,3 @@ $smarty->assign('can_delete_manager', $can_delete_manager);
 $smarty->assign('title', $i18n->getKey('title.users'));
 $smarty->assign('content_page_name', 'users.tpl');
 $smarty->display('index.tpl');
-?>
\ No newline at end of file