@@ -35,42 +35,41 @@ public function enhance_meeting(&$meeting_value, $lang, $formatsManager, $format
3535 } else {
3636 $ time_format = "H:i " ;
3737 }
38+ $ time_parts = [];
3839 if ($ this ->options ['time_option ' ] == 1 || $ this ->options ['time_option ' ] == '' ) {
39- $ meeting_value ['start_time ' ] = gmdate ($ time_format , strtotime ($ meeting_value ['start_time ' ]));
40- if ($ meeting_value ['start_time ' ] == '12:00PM ' || $ meeting_value ['start_time ' ] == '12:00 PM ' ) {
41- $ meeting_value ['start_time ' ] = 'NOON ' ;
42- }
40+ array_push ($ time_parts , $ this ->noon (gmdate ($ time_format , strtotime ($ meeting_value ['start_time ' ]))));
4341 } elseif ($ this ->options ['time_option ' ] == '2 ' ) {
4442 $ addtime = '+ ' . $ minutes . ' minutes ' ;
45- $ end_time = gmdate ($ time_format , strtotime ($ meeting_value ['start_time ' ] . ' ' . $ addtime ));
46- $ meeting_value ['start_time ' ] = gmdate ($ time_format , strtotime ($ meeting_value ['start_time ' ]));
47- if ($ lang == 'fa ' ) {
48- $ meeting_value ['start_time ' ] = $ this ->toPersianNum ($ end_time ) . $ space . '- ' . $ space . $ this ->toPersianNum ($ meeting_value ['start_time ' ]);
49- } else {
50- $ meeting_value ['start_time ' ] = $ meeting_value ['start_time ' ] . $ space . '- ' . $ space . $ end_time ;
51- }
43+ array_push ($ time_parts , $ this ->noon (gmdate ($ time_format , strtotime ($ meeting_value ['start_time ' ]))));
44+ array_push ($ time_parts , $ this ->noon (gmdate ($ time_format , strtotime ($ meeting_value ['start_time ' ] . ' ' . $ addtime ))));
5245 } elseif ($ this ->options ['time_option ' ] == '3 ' ) {
5346 $ time_array = array ("1:00 " , "2:00 " , "3:00 " , "4:00 " , "5:00 " , "6:00 " , "7:00 " , "8:00 " , "9:00 " , "10:00 " , "11:00 " , "12:00 " );
5447 $ temp_start_time = gmdate ("g:i " , strtotime ($ meeting_value ['start_time ' ]));
5548 $ temp_start_time_2 = gmdate ("g:iA " , strtotime ($ meeting_value ['start_time ' ]));
5649 if ($ temp_start_time_2 == '12:00PM ' ) {
57- $ start_time = 'NOON ' ;
50+ array_push ( $ time_parts , 'NOON ' ) ;
5851 } elseif (in_array ($ temp_start_time , $ time_array )) {
59- $ start_time = gmdate ("g " , strtotime ($ meeting_value ['start_time ' ]));
52+ array_push ( $ time_parts , gmdate ("g " , strtotime ($ meeting_value ['start_time ' ]) ));
6053 } else {
61- $ start_time = gmdate ("g:i " , strtotime ($ meeting_value ['start_time ' ]));
54+ array_push ( $ time_parts , gmdate ("g:i " , strtotime ($ meeting_value ['start_time ' ]) ));
6255 }
6356 $ addtime = '+ ' . $ minutes . ' minutes ' ;
64- $ temp_end_time = gmdate ( " g:iA " , strtotime ($ meeting_value ['start_time ' ] . ' ' . $ addtime) );
57+ $ temp_end_time = strtotime ($ meeting_value ['start_time ' ] . ' ' . $ addtime );
6558 $ temp_end_time_2 = gmdate ("g:i " , strtotime ($ meeting_value ['start_time ' ] . ' ' . $ addtime ));
6659 if ($ temp_end_time == '12:00PM ' ) {
67- $ end_time = 'NOON ' ;
60+ array_push ( $ time_parts , 'NOON ' ) ;
6861 } elseif (in_array ($ temp_end_time_2 , $ time_array )) {
69- $ end_time = gmdate ("g " . $ space . "A " , strtotime ( $ temp_end_time ));
62+ array_push ( $ time_parts , gmdate ("g " . $ space . "A " , $ temp_end_time ));
7063 } else {
71- $ end_time = gmdate ("g:i " . $ space . "A " , strtotime ( $ temp_end_time ));
64+ array_push ( $ time_parts , gmdate ("g:i " . $ space . "A " , $ temp_end_time ));
7265 }
73- $ meeting_value ['start_time ' ] = $ start_time . $ space . '- ' . $ space . $ end_time ;
66+ }
67+ if (count ($ time_parts ) == 1 ) {
68+ $ meeting_value ['start_time ' ] = ($ lang == 'fa ' ) ? $ this ->toPersianNum ($ time_parts [0 ]) : $ time_parts [0 ];
69+ } elseif (count ($ time_parts ) == 2 ) {
70+ $ meeting_value ['start_time ' ] = ($ lang == 'fa ' )
71+ ? $ meeting_value ['start_time ' ] = $ this ->toPersianNum ($ time_parts [1 ]) . $ space . '- ' . $ space . $ this ->toPersianNum ($ time_parts [0 ])
72+ : $ meeting_value ['start_time ' ] = $ time_parts [0 ] . $ space . '- ' . $ space . $ time_parts [1 ];
7473 }
7574 }
7675 $ meeting_value ['day_abbr ' ] = $ this ->bread ->getday ($ meeting_value ['weekday_tinyint ' ], true , $ lang );
@@ -90,6 +89,13 @@ public function enhance_meeting(&$meeting_value, $lang, $formatsManager, $format
9089 // Extensions.
9190 return apply_filters ("Bread_Enrich_Meeting_Data " , $ meeting_value , $ formatsManager ->getHashedFormats ($ lang ));
9291 }
92+ private function noon ($ time )
93+ {
94+ if ($ time == '12:00PM ' || $ time == '12:00 PM ' ) {
95+ return 'NOON ' ;
96+ }
97+ return $ time ;
98+ }
9399 private function get_area_name (array $ meeting_value ): string
94100 {
95101 foreach ($ this ->areas as $ unique_area ) {
@@ -114,6 +120,11 @@ private function toPersianNum($number)
114120 $ number = str_replace ("8 " , "۸ " , $ number );
115121 $ number = str_replace ("9 " , "۹ " , $ number );
116122 $ number = str_replace ("0 " , "۰ " , $ number );
123+ $ number = str_replace ("NOON " , "ظهر " , $ number );
124+ $ number = str_replace ("AM " , "صبح " , $ number );
125+ $ number = str_replace ("am " , 'صبح ' , $ number );
126+ $ number = str_replace ("PM " , "بعدازظهر " , $ number );
127+ $ number = str_replace ("pm " , "بعدازظهر " , $ number );
117128 return $ number ;
118129 }
119130}
0 commit comments