mod_muc_log_http/muc_log_http/mod_muc_log_http.lua
changeset 119 e6592d8305cb
parent 118 7eadcf0a0190
child 120 7a2d33e8ad1f
equal deleted inserted replaced
118:7eadcf0a0190 119:e6592d8305cb
   463 	   (month >= 8 and month%2 == 0 and day + 1 > 31) or
   463 	   (month >= 8 and month%2 == 0 and day + 1 > 31) or
   464 	   (month >= 8 and month%2 == 1 and day + 1 > 30)
   464 	   (month >= 8 and month%2 == 1 and day + 1 > 30)
   465 	then
   465 	then
   466 		if month + 1 > 12 then
   466 		if month + 1 > 12 then
   467 			year = year + 1;
   467 			year = year + 1;
       
   468 			month = 1;
       
   469 			day = 1;
   468 		else
   470 		else
   469 			month = month + 1;
   471 			month = month + 1;
       
   472 			day = 1;
   470 		end
   473 		end
   471 	else
   474 	else
   472 		day = day + 1;
   475 		day = day + 1;
   473 	end
   476 	end
   474 	return strformat("%.02d%.02d%.02d", year, month, day);
   477 	return strformat("%.02d%.02d%.02d", year, month, day);
   494 	end
   497 	end
   495 end
   498 end
   496 
   499 
   497 local function decrementDay(bare_day)
   500 local function decrementDay(bare_day)
   498 	local year, month, day = bare_day:match("^(%d%d)(%d%d)(%d%d)");
   501 	local year, month, day = bare_day:match("^(%d%d)(%d%d)(%d%d)");
       
   502 	local leapyear = false;
   499 	module:log("debug", tostring(day).."/"..tostring(month).."/"..tostring(year))
   503 	module:log("debug", tostring(day).."/"..tostring(month).."/"..tostring(year))
       
   504 
   500 	day = tonumber(day);
   505 	day = tonumber(day);
   501 	month = tonumber(month);
   506 	month = tonumber(month);
   502 	year = tonumber(year);
   507 	year = tonumber(year);
   503 	
   508 
       
   509 	if year%4 == 0 and year%100 == 0 then
       
   510 		if year%400 == 0 then
       
   511 			leapyear = true;
       
   512 		else
       
   513 			leapyear = false; -- turn of the century but not a leapyear
       
   514 		end
       
   515 	elseif year%4 == 0 then
       
   516 		leapyear = true;
       
   517 	end	
       
   518 		
   504 	if day - 1 == 0 then
   519 	if day - 1 == 0 then
   505 		if month - 1 == 0 then
   520 		if month - 1 == 0 then
   506 			year = year - 1;
   521 			year = year - 1;
       
   522 			month = 12;
       
   523 			day = 31;
   507 		else
   524 		else
   508 			month = month - 1;
   525 			month = month - 1;
       
   526 			if (month == 2 and leapyear) then day = 29 
       
   527 			elseif (month == 2 and not leapyear) then day = 28
       
   528 			elseif (month < 8 and month%2 == 1) or (month >= 8 and month%2 == 0) then day = 31
       
   529 			else day = 30
       
   530 			end
   509 		end
   531 		end
   510 	else
   532 	else
   511 		day = day - 1;
   533 		day = day - 1;
   512 	end
   534 	end
   513 	return strformat("%.02d%.02d%.02d", year, month, day);
   535 	return strformat("%.02d%.02d%.02d", year, month, day);