Ah this problem again. It is because of the mssql server language and date formats.
Find:
Code:
-- Free time (everyday PM 21~22)
DECLARE @StartFreeTime as DATETIME, @EndFreeTime as DATETIME
SET @StartFreeTime = CONVERT(VARCHAR(11), GETDATE(), 20) + '21:00:00'
SET @EndFreeTime = CONVERT(VARCHAR(11), GETDATE(), 20) + '00:00:00'
IF @rExpireDate < GETDATE() and @StartFreeTime < GETDATE() and GETDATE() < @EndFreeTime
BEGIN
SET @rType = 2
SET @rExpireDate = @EndFreeTime
END
Change to:
Code:
/* ! WARNING ! Causes problems on some languages
-- Free time (everyday PM 21~22)
DECLARE @StartFreeTime as DATETIME, @EndFreeTime as DATETIME
SET @StartFreeTime = CONVERT(VARCHAR(11), GETDATE(), 20) + '21:00:00'
SET @EndFreeTime = CONVERT(VARCHAR(11), GETDATE(), 20) + '00:00:00'
IF @rExpireDate < GETDATE() and @StartFreeTime < GETDATE() and GETDATE() < @EndFreeTime
BEGIN
SET @rType = 2
SET @rExpireDate = @EndFreeTime
END
*/
Unless you use the "free time" premium setting this isn't used anyway ;)