LuciferFrost7 / PHPshka

1 stars 0 forks source link

MyCalender.php #2

Open LuciferFrost7 opened 2 days ago

LuciferFrost7 commented 2 days ago

`<?php $year = 2024; function getMonthName($month) { return ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"][$month - 1]; }

echo getMonthName(date('m'));

function leapCheck($year) { return $year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0; }

echo leapCheck(date('y'));

function countOfDays($year, $month) {

return 31 if m in [1, 3, 5, 7, 8, 10, 12] else 30 if m in [4, 6, 9, 11] else 29 if leapCheck(y) else 28

return in_array($month, [1, 3, 5, 7, 8, 10, 12]) ? 31 : (in_array($month, [4, 6, 9, 11]) ? 30: (leapCheck($year) ? 29 : 28));

}

echo countOfDays(2024, 10);

function monthCode($year, $month) { return (int)["144025036146", "034025036146"][(int)leapCheck($year)][$month]; }

echo monthCode(2024, 0);

function startFrom($year, $month) { return (1 + monthCode($year, $month) + (int)($year%100) / 4) % 7; }

echo startFrom(2024, 0)

function monthPrint($year, $month) { echo "пн вт ср чт пт сб вс"."
"; echo "-----------------------------"."
"; $daysArray = []; $dayCount = CountOfDays($year, $month); $startDay = startFrom($year, $month-1); for($i = 1; $i < 7*6+1; $i++) { if($i <= $startDay){ $daysArray[$i] = "  "; }elseif($i > $startDay && $i - $startDay <= $dayCount){ $daysArray[$i] = $i - $startDay; }else{ $daysArray[$i] = "  "; }

        if(strlen($daysArray[$i]) == 1) {
            if(($month == 1 && $i - $startDay == 1) || ($month == 1 && $i - $startDay == 2) || ($month == 1 - $startDay && $i == 7)){
                $ahr = "";
                switch($i){
                    case 1:
                        $ahr = "https://ru.wikipedia.org/wiki/1_%D1%8F%D0%BD%D0%B2%D0%B0%D1%80%D1%8F";
                        break;
                    case 2:
                        $ahr = "https://ru.wikipedia.org/wiki/2_%D1%8F%D0%BD%D0%B2%D0%B0%D1%80%D1%8F";
                        break;
                    case 7:
                        $ahr = "https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B6%D0%B4%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%A5%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D0%BE";
                        break;
                }
                echo " <span>&ensp;</span><span style='color:red;'><a href=$ahr>" . $daysArray[$i]."</a></span>";
            }elseif(($month == 3 && $i - $startDay == 8 )){
                $ahr = "https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83%D0%BD%D0%B0%D1%80%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9_%D0%B6%D0%B5%D0%BD%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%B5%D0%BD%D1%8C";
                echo " <span>&ensp;</span><span style='color:red;'><a href=$ahr>" . $daysArray[$i]."</a></span>";
            }elseif(($month == 5 && $i - $startDay == 1) || ($month == 5 && $i - $startDay == 5) || ($month == 5 && $i - $startDay == 9) ){
                $ahr = "";
                switch($i - $startDay){
                    case 1:
                        $ahr = "https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B2%D0%BE%D0%B5_%D0%BC%D0%B0%D1%8F_(%D0%BF%D1%80%D0%B0%D0%B7%D0%B4%D0%BD%D0%B8%D0%BA)";
                        break;
                    case 5:
                        $ahr = "https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%81%D1%85%D0%B0";
                        break;
                    case 9:
                        $ahr = "https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D1%8C_%D0%9F%D0%BE%D0%B1%D0%B5%D0%B4%D1%8B#:~:text=9%20%D0%BC%D0%B0%D1%8F%20%E2%80%94%20%D0%B4%D0%B5%D0%BD%D1%8C%20%D0%BE%D0%BA%D0%BE%D0%BD%D1%87%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%92%D0%B5%D0%BB%D0%B8%D0%BA%D0%BE%D0%B9,%D1%81%D0%BE%D0%BE%D1%80%D1%83%D0%B6%D0%B0%D0%B5%D0%BC%D1%8B%D1%85%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%20%D0%9C%D0%B0%D0%B2%D0%B7%D0%BE%D0%BB%D0%B5%D0%B5%D0%BC%20%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85%20%D0%BF%D0%BE%D0%B4%D0%BC%D0%BE%D1%81%D1%82%D0%BA%D0%BE%D0%B2.";
                        break;
                }
                echo " <span>&ensp;</span><span style='color:red;'><a href=$ahr>" . $daysArray[$i]."</a></span>";
            }elseif(($month == 7 && $i - $startDay == 3) || ($month == 7 && $i - $startDay == 7)){
                $ahr = "";
                switch($i - $startDay){
                    case 3:
                        $ahr="https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D1%8C_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8_%D0%A0%D0%B5%D1%81%D0%BF%D1%83%D0%B1%D0%BB%D0%B8%D0%BA%D0%B8_%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C";
                        break;
                    case 7:
                        $ahr="https://be.wikipedia.org/wiki/%D0%9A%D1%83%D0%BF%D0%B0%D0%BB%D0%BB%D0%B5";
                        break;
                }
                echo " <span>&ensp;</span><span style='color:red;'><a href=$ahr>" . $daysArray[$i]."</a></span>";
            }elseif(($month == 11 && $i - $startDay == 7)){
                $ahr = "https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D1%8C_%D0%92%D0%B5%D0%BB%D0%B8%D0%BA%D0%BE%D0%B9_%D0%9E%D0%BA%D1%82%D1%8F%D0%B1%D1%80%D1%8C%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%BE%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D0%B8#:~:text=%D0%94%D0%B5%D0%BD%D1%8C%20%D0%92%D0%B5%D0%BB%D0%B8%D0%BA%D0%BE%D0%B9%20%D0%9E%D0%BA%D1%82%D1%8F%D0%B1%D1%80%D1%8C%D1%81%D0%BA%D0%BE%D0%B9%20%D1%81%D0%BE%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9%20%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D0%B8%20%E2%80%94%20%D0%B3%D0%BE%D0%B4%D0%BE%D0%B2%D1%89%D0%B8%D0%BD%D0%B0%20%D0%9E%D0%BA%D1%82%D1%8F%D0%B1%D1%80%D1%8C%D1%81%D0%BA%D0%BE%D0%B9%20%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D0%B8%201917%20%D0%B3%D0%BE%D0%B4%D0%B0,%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%20%D0%B8%D0%B7%20%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%BD%D1%8B%D1%85%20%D0%B4%D0%BD%D0%B5%D0%B9%20%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8.";
                echo " <span>&ensp;</span><span style='color:red;'><a href=$ahr>" . $daysArray[$i]."</a></span>";
            }elseif($i % 7 == 0 || $month == 7 || $month == 8) {
                echo " <span>&ensp;</span><span style='color:red;'>" . $daysArray[$i]."</span>";
            }else{
                echo " <span>&ensp;</span>" . $daysArray[$i];
            }
        }else {
            if($month == 2 && $i - $startDay == 23){
                $ahr = "https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D1%8C_%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9E%D1%82%D0%B5%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0";
                echo " <span style='color:red;'><a href=$ahr>".$daysArray[$i]."</a></span>";
            }elseif(($month == 3 && $i - $startDay == 15) || ($month == 3 && $i - $startDay == 31)){
                $ahr = "";
                switch($i - $startDay){
                    case 15:
                        $ahr="https://mintrud.gov.by/ru/news-ru/view/15-marta-den-konstitutsii-respubliki-belarus-6761-2023/";
                        break;
                    case 31:
                        $ahr="https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%81%D1%85%D0%B0";
                        break;
                }
                echo " <span style='color:red;'><a href=$ahr>".$daysArray[$i]."</a></span>";
            }elseif($month == 4 && $i - $startDay == 26){
                $ahr = "https://www.un.org/ru/observances/chernobyl-remembrance-day";
                echo " <span style='color:red;'><a href=$ahr>".$daysArray[$i]."</a></span>";
            }elseif(($month == 5 && $i - $startDay == 12) || ($month == 5 && $i - $startDay == 14)){
                $ahr = "";
                switch($i - $startDay){
                    case 12:
                        $ahr="https://president.gov.by/ru/events/den-gosudarstvennyh-flaga-gerba-i-gimna-budet-otmechatsya-v-belarusi";
                        break;
                    case 14:
                        $ahr="https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B4%D0%BE%D0%BD%D0%B8%D1%86%D0%B0";
                        break;
                }
                echo " <span style='color:red;'><a href=$ahr>".$daysArray[$i]."</a></span>";
            }elseif(($month == 9 && $i - $startDay == 17)){
                $ahr = "https://www.mpt.gov.by/ru/17-sentyabrya-den-narodnogo-edinstva-0";
                echo " <span style='color:red;'><a href=$ahr>".$daysArray[$i]."</a></span>";
            }elseif(($month == 10 && $i - $startDay == 14) || ($month == 10 && $i - $startDay == 21)){
                $ahr = "";
                switch($i - $startDay){
                    case 14:
                        $ahr="https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D1%8C_%D0%BC%D0%B0%D1%82%D0%B5%D1%80%D0%B8";
                        break;
                    case 21:
                        $ahr="https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D1%8C_%D0%BE%D1%82%D1%86%D0%B0#:~:text=%D0%94%D0%B5%D0%BD%D1%8C%20%D0%BE%D1%82%D1%86%D0%B0%20(%D1%82%D0%B0%D0%BA%D0%B6%D0%B5%20%D0%94%D0%B5%D0%BD%D1%8C%20%D0%BE%D1%82%D1%86%D0%BE%D0%B2,%D0%B3%D0%BE%D0%B4%D0%B0%20%D0%B2%20%D1%82%D1%80%D0%B5%D1%82%D1%8C%D0%B5%20%D0%B2%D0%BE%D1%81%D0%BA%D1%80%D0%B5%D1%81%D0%B5%D0%BD%D1%8C%D0%B5%20%D0%BE%D0%BA%D1%82%D1%8F%D0%B1%D1%80%D1%8F.";
                        break;
                }
                echo " <span style='color:red;'><a href=$ahr>".$daysArray[$i]."</a></span>";
            }elseif(($month == 12 && $i - $startDay == 25) || ($month == 12 && $i - $startDay == 31)){
                $ahr = "";
                switch($i - $startDay){
                    case 25:
                        $ahr="https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B6%D0%B4%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%A5%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D0%BE";
                        break;
                    case 31:
                        $ahr="https://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9_%D0%B3%D0%BE%D0%B4";
                        break;
                }
                echo " <span style='color:red;'><a href=$ahr>".$daysArray[$i]."</a></span>";
            }elseif($i % 7 == 0 || $month == 7 || $month == 8){
                echo " <span style='color:red;'>".$daysArray[$i]."</span>";
            }else{
                echo " ".$daysArray[$i];
            }
        }
        if($i % 7 == 0 && $i != 0){
            echo "<br><span>&ensp;</span>";
        }
    }

} ?> `