From 9ef8c746a73a4c60e88da12fd45c607d22ba25c8 Mon Sep 17 00:00:00 2001 From: Gitea Date: Fri, 6 Sep 2019 10:57:04 +0100 Subject: [PATCH] better timings and date calculations --- src/repeat.php | 61 ++++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/src/repeat.php b/src/repeat.php index 3f37d52..a7de9d4 100755 --- a/src/repeat.php +++ b/src/repeat.php @@ -38,16 +38,33 @@ foreach($terms as $group=>$names){ //define the function to process each issue $daily=function($issue){ - $day_updated=date('d/m/Y',strtotime($issue->updated_at)); - $day_closed=date('d/m/Y',strtotime($issue->closed_at)); - $day_today=date('d/m/Y'); - echo "Daily: ". $issue->title." ".$issue->closed_at." ($day_closed, $day_today) \n"; - if($day_closed!=$day_today){ + $day_today=date('U')/60/60/24; + $days_closed_ago=$issue->closed_at?$day_today-(date('U',strtotime($issue->closed_at))/60/60/24):null; + $days_updated_ago=$day_today-(date('U',strtotime($issue->updated_at))/60/60/24); + echo "Daily: ". $issue->title." C:".$issue->closed_at." ($days_closed_ago) U:".$issue->updated_at." ($days_updated_ago) \n"; + if($days_closed_ago>1){ if($issue->state=="closed"){ $issue->state='open'; $issue->save(); }else{ - if($day_updated!=$day_today){ + if($days_updated_ago>1){ + $issue->addComment("NAG!"); + } + } + } +}; + +$weekly=function($issue){ + $day_today=date('U')/60/60/24; + $days_closed_ago=$issue->closed_at?$day_today-(date('U',strtotime($issue->closed_at))/60/60/24):null; + $days_updated_ago=$day_today-(date('U',strtotime($issue->updated_at))/60/60/24); + echo "Weekly: ". $issue->title." C:".$issue->closed_at." ($days_closed_ago) U:".$issue->updated_at." ($days_updated_ago) \n"; + if( $days_closed_ago>7 ){ + if($issue->state=="closed"){ + $issue->state='open'; + $issue->save(); + }else{ + if($days_updated_ago>3){ $issue->addComment("NAG!"); } } @@ -55,9 +72,12 @@ $daily=function($issue){ }; $monthly=function($issue) use ($terms){ + $day_today=date('U')/60/60/24; + $days_closed_ago=$issue->closed_at?$day_today-(date('U',strtotime($issue->closed_at))/60/60/24):null; + $days_updated_ago=$day_today-(date('U',strtotime($issue->updated_at))/60/60/24); $month_closed=date('m/Y',strtotime($issue->closed_at)); $month_today=date('m/Y'); - echo "Monthly: ".$issue->title." ".$issue->closed_at." ($month_closed, $month_today) \n"; + echo "Monthly: ". $issue->title." [MC: $month_closed, MT: $month_today] C:".$issue->closed_at." ($days_closed_ago) U:".$issue->updated_at." ($days_updated_ago) \n"; //print_r($issue->labels); //print_r(getRepeatTerms($issue,$terms)); //die(); @@ -66,36 +86,13 @@ $monthly=function($issue) use ($terms){ $issue->state='open'; $issue->save(); }else{ - $day_updated=date('z',strtotime($issue->updated_at)); - $day_today=date('z'); - if($day_updated!=$day_today){ + if($days_updated_ago>7){ $issue->addComment("NAG!"); } } } }; -$weekly=function($issue){ - $day_updated=date('z',strtotime($issue->updated_at)); - $day_closed=date('z',strtotime($issue->closed_at)); - $day_today=date('z'); - echo "Weekly: ". $issue->title." ".$issue->closed_at." ($day_closed, $day_today => ".(abs($day_closed-$day_today)).") \n"; - if( abs($day_closed-$day_today)>7 ){ - if($issue->state=="closed"){ - $issue->state='open'; - $issue->save(); - }else{ - if($day_updated!=$day_today){ - $issue->addComment("NAG!"); - } - } - } -}; - -$tmp=function($issue){ - //$hours_ago=(time()-strtotime($issue->closed_at))/60/60; -}; - function getRepeatTerms($issue,$terms){ $labels=[]; $found=[]; @@ -113,7 +110,7 @@ function getRepeatTerms($issue,$terms){ return $found; } -//loop through issues and call the callback +//prep the curent day/month names $day_name=strtolower(date('l')); $month_name=strtolower(date('F'));