pretty good prototype
This commit is contained in:
parent
d917a7c27c
commit
c05f37ce61
@ -14,35 +14,50 @@ function updateIssueBody($issue,$text){
|
|||||||
}
|
}
|
||||||
//replace the tag contents with the result from our $text function
|
//replace the tag contents with the result from our $text function
|
||||||
$issue->body=preg_replace("#<!--BOT-->.*?<!--ENDBOT-->#s",'<!--BOT--><hr/>'.$text.'<!--ENDBOT-->',$issue->body);
|
$issue->body=preg_replace("#<!--BOT-->.*?<!--ENDBOT-->#s",'<!--BOT--><hr/>'.$text.'<!--ENDBOT-->',$issue->body);
|
||||||
|
$issue->save();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//loop through each issue that has a RRULE
|
||||||
foreach($repo->getIssues(['q'=>'RRULE:']) as $issue){
|
foreach($repo->getIssues(['q'=>'RRULE:']) as $issue){
|
||||||
//echo "GOT: {$issue->number}\n";
|
//extract the rule text
|
||||||
if(preg_match('/RRULE:\s?(.*)/',$issue->body,$matches)){
|
if(preg_match('/RRULE:\s?(.*)/',$issue->body,$matches)){
|
||||||
$rruletxt=$matches[1];
|
$rruletxt=$matches[1];
|
||||||
//echo "RRULEtxt: ".$rruletxt."\n";
|
//create the rule, report any exceptions
|
||||||
try{
|
try{
|
||||||
$rrule = new RRule($rruletxt);
|
$rrule = new RRule($rruletxt);
|
||||||
/*foreach ( $rrule as $occurrence ) {
|
|
||||||
echo $occurrence->format('D d M Y'),"\n ";
|
|
||||||
}*/
|
|
||||||
$result=$rrule->humanReadable()."<br/>\n NEXT1:".$rrule[0]->format('r')."<br/>\n NEXT2:".$rrule[1]->format('r');
|
|
||||||
updateIssueBody($issue,$result);
|
|
||||||
$issue->save();
|
|
||||||
//echo $rrule[0]->format('Y-m-d')." == ".date('Y-m-d')."\n";
|
|
||||||
}catch(Exception $e){
|
}catch(Exception $e){
|
||||||
$result="\n```plain\n".$e->getMessage()." ($rruletxt)\n```\n";
|
$result="\n```plain\n".$e->getMessage()." ($rruletxt)\n```\n";
|
||||||
updateIssueBody($issue,$result);
|
updateIssueBody($issue,$result);
|
||||||
$issue->save();
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if($rrule[0]->format('Y-m-d')==date('Y-m-d')){
|
}else{ //couldn't extract, report error
|
||||||
$issue->addComment("Today (NEXT:".$rrule[1]->format('r').")");
|
updateIssueBody($issue,"Can't extract RRULE:");
|
||||||
}
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
updateIssueBody($issue,$result);
|
// if we get here, then there is a valid rrule :)
|
||||||
// not working https://github.com/go-gitea/gitea/issues/8179
|
|
||||||
//$issue->due_date=$rrule[0]->format('c');
|
// calcultate some useful info
|
||||||
$issue->save();
|
$next_inc=$rrule->getOccurrencesAfter(date('Y-m-d'),$inclusive=true,$limit=1)[0];
|
||||||
}
|
$next_exc=$rrule->getOccurrencesAfter(date('Y-m-d'),$inclusive=false,$limit=1)[0];
|
||||||
|
$today=$next_inc->format('Y-m-d')==date('Y-m-d');
|
||||||
|
|
||||||
|
//some debug
|
||||||
|
$result=$rrule->humanReadable().
|
||||||
|
"<br/>\n NOW: ".date('Y-m-d').
|
||||||
|
"<br/>\n First: ".$rrule[0]->format('Y-m-d').
|
||||||
|
"<br/>\n Second: ".$rrule[1]->format('Y-m-d').
|
||||||
|
"<br/>\n Today: ".($today?'Yes':'no').
|
||||||
|
"<br/>\n Next Inc: ".$next_inc->format('Y-m-d').
|
||||||
|
"<br/>\n Next Exc: ".$next_exc->format('Y-m-d');
|
||||||
|
updateIssueBody($issue,$result);
|
||||||
|
|
||||||
|
//is it today?
|
||||||
|
if($today){
|
||||||
|
$issue->addComment("Today (NEXT:".$next_exc->format('Y-m-d').")");
|
||||||
|
}
|
||||||
|
|
||||||
|
// not working https://github.com/go-gitea/gitea/issues/8179
|
||||||
|
//$issue->due_date=$rrule[0]->format('c');
|
||||||
|
//$issue->save();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user