@@ -15,8 +15,10 @@ public function __construct(string $filename) {
1515 $ this ->config = json_decode (file_get_contents ($ filename ));
1616 }
1717 public function doMonitor () {
18- $ data = $ data_die = $ data_bottom = $ data_middle = $ data_top = [];
18+ $ data_die = $ data_bottom = $ data_middle = $ data_top = [];
19+ $ count = 0 ;
1920 foreach ($ this ->config ->domain_data as $ domain_data ) {
21+ $ count ++;
2022 try {
2123 $ monitor = new Monitor ($ domain_data ->domain , $ domain_data ->port ?? 443 );
2224 } catch (InvalidDomainForPingException $ e ) {
@@ -43,7 +45,7 @@ public function doMonitor() {
4345 $ span = $ monitor ->getValiditySpan ();
4446 $ remind_time = strtotime (date ('Y-m-d ' , time ())) + ($ this ->config ->before_end_day ?? 7 ) * 86400 ;
4547 if ($ span ['to ' ] < $ remind_time ) {
46- $ data_middle [] = [
48+ $ data_middle [$ span [ ' to ' ] . ' _ ' . $ count ] = [
4749 'domain ' => $ domain_data ->domain ,
4850 'remark ' => $ domain_data ->remark ?? null ,
4951 'domain_is_available ' => true ,
@@ -52,7 +54,7 @@ public function doMonitor() {
5254 'expire_date ' => date ('Y-m-d ' , $ span ['to ' ])
5355 ];
5456 } else {
55- $ data_top [] = [
57+ $ data_top [$ span [ ' to ' ] . ' _ ' . $ count ] = [
5658 'domain ' => $ domain_data ->domain ,
5759 'remark ' => $ domain_data ->remark ?? null ,
5860 'domain_is_available ' => true ,
@@ -62,6 +64,10 @@ public function doMonitor() {
6264 ];
6365 }
6466 }
67+ krsort ($ data_middle );
68+ $ data_middle = array_values ($ data_middle );
69+ krsort ($ data_top );
70+ $ data_top = array_values ($ data_top );
6571 $ data = array_merge ($ data_top , $ data_middle , $ data_bottom , $ data_die );
6672 return $ data ;
6773 }
0 commit comments