Basically this will transform seconds in human readable durations. The first parameter of the function represents the number of seconds to transform, while the second represents how detailed will the transformation be (in his examples, duration 6 returns years, months, weeks, days, minutes and seconds, while duration 4 returns only years, months, weeks and days).
the biggest value $max_periods should have is 7 (years, months, weeks, days, hours, minutes and seconds), but in some cases, the function will act as with $max_periods = 6 (when one of the time values is null).
I would vote this as a very useful snippet. good job