The results it provides also makes adderuppa a valuable tool for quotations
adderuppa - simple, hosted task timer and time management software
create a free account

Archive for April, 2007

Traversing multi-dimensional arrays in Smarty

Tuesday, April 3rd, 2007 - 14:05

We’ve been using Smarty templates for a few years now, and enjoy the separation of markup and application code that they allow, but the syntax does have a couple of odd sides to it that throw up issues now and then.

One of these issues is that multi-dimensional arrays are not handled properly by the ’section’ loop.

When redeveloping the reports, and adding the Per User page, we ran into this issue again. This report contains an array of Users. Each User also contains an array of Projects that have been worked on during the selected date range.

The ’section’ loop goes Bang when you try and traverse this, so we used the ‘foreach’ loop instead, as below :

{ foreach from=$userList item=user }
 User Name
 { foreach from=$user.projects item=project }
  Project info
 { /foreach }
{ /foreach }

Completed Projects revised

Monday, April 2nd, 2007 - 17:42

The Completed Projects page now utilises the flexible date selection employed on the new reports pages uploaded over the weekend.

A couple of small bugs in these pages have been fixed.


Reports reworked

Sunday, April 1st, 2007 - 08:17

We overhauled the reports pages over the weekend to give a much more coherent and intuitive feel. A flexible date range can now be defined, and this range is carried over to whatever report type has been selected, so it is now possible to break down the data into meaningful, easily cross-referenced displays simply by selecting from the sub navigation.

We have provided two new reports which display Income by Project, and Income by User. Income by User breaks down how much time each user has spent on every project they have worked on within a selected date range ( including open projects ), and displays how much income that time represents. This report offers a very simple way to compare user work patterns.