Автор Тема: Православни будители  (Прочетена 1370 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 120
  • -Получени: 73
  • Публикации: 993
  • Кибик
Православни будители
« -: 17 Декември 2017, 23:49:37 »
Това е последния проект по който работих около 2 месеца:
http://buditeli.info
... основата му е фрейморк, който написах вдъхновен от същия на Иван Ванков, моята темплейтна система и автоматично генериране на тагове с "бързо" класче ;)
Код: PHP
  1. <?php
  2.  
  3. namespace Main;
  4.  
  5. /**
  6.  * Description of Tag
  7.  *
  8.  * @author HanKrum
  9.  */
  10. class Tag {
  11.  
  12.     private static $_instance = null;
  13.     private $_tags = ['doctype', 'br', 'hr', 'input', 'meta', 'base', 'basefont', 'img', 'source'];
  14.  
  15.     public function __call($name, $arguments) {
  16.         $attr = null;
  17.         $text = null;
  18.         if (\in_array($name, $this->_tags)) {
  19.             $name = $name == $this->_tags[0] ? '!' . $name . ' html' : $name;
  20.             foreach ($arguments as $v) {
  21.                 $attr .= ' ' . $v;
  22.             }
  23.             return '<' . $name . $attr . '>' . "\n";
  24.         }
  25.         $br = 0;
  26.         $count = \count($arguments);
  27.         foreach ($arguments as $v) {
  28.             $br ++;
  29.             if ($br == $count) {
  30.                 $text = $v;
  31.             } else {
  32.                 if (!$v) {
  33.                     $space = null;
  34.                 } else {
  35.                     $space = ' ';
  36.                 }
  37.                 $attr .= $space . $v;
  38.             }
  39.         }
  40.         return '<' . $name . $attr . '>' . $text . '</' . $name . '>' . "\n";
  41.     }
  42.  
  43.     /**
  44.      *
  45.      * @return \Main\Tag
  46.      */
  47.     public static function getInstance() {
  48.         if (self::$_instance == null) {
  49.             self::$_instance = new \Main\Tag();
  50.         }
  51.         return self::$_instance;
  52.     }
  53.  
  54. }
  55.  
  56.  

... ето и исползването му:
Код: PHP
  1. $ob = new \Main\Tag();
  2. echo $ob->tag()->input('class="doc"', 'placeholder="Заглавие"', 'name="title"');
  3. echo \Main\Tag::getInstance()->span(null, 'Text');
  4. exit($ob->tag()->button('class="submit"', 'Запиши');
  5.  

п.п. Зеления и червения цвят на флага са по Българската конституция ;)
« Последна редакция: 18 Декември 2017, 00:05:44 от HanKrum »
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
Re: Православни будители
« Отговор #1 -: 18 Декември 2017, 14:11:28 »
Последният творец в научиМе остана ти :)
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 120
  • -Получени: 73
  • Публикации: 993
  • Кибик
Re: Православни будители
« Отговор #2 -: 18 Декември 2017, 20:56:27 »
Наборе, не съм се спрял и за ден, освен като правя ремонти удома.
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2595
  • meow
Re: Православни будители
« Отговор #3 -: 18 Декември 2017, 21:52:08 »
Поздравления! Сайтът изглежда доста патриотично.

Разгледах го набързо и няколко неща ми направиха впечатление. Дизайнът е изграден от доста снимки, някои от които са с доста голям размер (видях някъде 1.9МБ), прикачам една снимка - в момента пиша от място с неособено добра интернет връзка и времето за зареждане е субективно, но все пак се зареждат почти 8МБ снимки



Друго, което ми направи впечатление е, че символите, които се въвеждат в полето за кепчата са със същия шрифт, както останалата част от сайта. Не знам дали е драма, но на мене ми се видя малко странно. Също така като цъкам във формата и има непопълнени полета нищо не се случва, обмислял ли си варианта да сложиш required атрибут на input таговете? Може би аз съм свикнал прекалено много с него, но ми се вижда малко по-естествено да ти свети нещо в червено, когато си съгрешил.



И на последната страница нещо не излизат никакви статии:

"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 120
  • -Получени: 73
  • Публикации: 993
  • Кибик
Re: Православни будители
« Отговор #4 -: 19 Декември 2017, 00:13:24 »
Тези снимки са наследство от стария сайт, но екипа на сайта ще си оправят линковете, снимките, статиите и др.
Моята работа аз съм я свършил ;)
Скоро ще ми се даде имейл на който да се пращат съобщения и остана в админ панела да направя генератор на пароли.

п.п. Поръчителите поискаха да се пише с този шрифт. А ако нещо не е наред да не се изпраща. Човек не би пратил съобщение от 3 символа, името да му е с 2, а темата по-малко от 2, а и имейла му ще е валиден ;)

п.п.п.п. :) ...поръчителите имаха странно изискване, което без малко да ме откаже от предаване на проекта: Да си махна подписа на сайта и да няма препратка към моя сайт. Компромисно ще направя форма за пращане на имейл, а не препратка.
« Последна редакция: 07 Януари 2018, 01:39:09 от HanKrum »
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 120
  • -Получени: 73
  • Публикации: 993
  • Кибик
Re: Православни будители
« Отговор #5 -: 04 Ноември 2019, 03:45:09 »
Здравейте, реших да да раздухам угасващото въгленче и да поразпаля живота в сайта с новата придобивка на този сайт.
http://buditeli.info/  Вечен Православен Календар.
Не е ограничен от години нито от празници.
Всички празници са по Стар стил (Юлианския календар).
За изчисление на Православния Великден използвах алгоритъма на Меус, като го поосъвършенствах с класа Pravoslaven, където е метода trinadeset.
Код: PHP
  1. /**
  2.      * При подадена година формат YYYY връща unix timestamp на датата на Православния Великден
  3.      * @param string/integer $godina
  4.      * @return integer
  5.      */
  6.     private function pravoslavenVelikden($godina = null) {
  7.         if ($godina == null) {
  8.             $godina = date('Y');
  9.         }
  10.         $a = $godina % 4;
  11.         $b = $godina % 7;
  12.         $c = $godina % 19;
  13.         $d = (19 * $c + 15) % 30;
  14.         $e = (2 * $a + 4 * $b - $d + 34) % 7;
  15.         $mesec = \floor(($d + $e + 114) / 31);
  16.         $den = (($d + $e + 114) % 31) + 1;
  17.         $velikden = \mktime(0, 0, 0, $mesec, $den + $this->trinadeset($godina . '-' . $mesec . '-' . $den), $godina);
  18.         return $velikden;
  19.     }
  20.  
Код: PHP
  1. <?php
  2.  
  3. /**
  4.  * Description of Pravoslaven
  5.  *
  6.  * @author HanKrum
  7.  */
  8.  
  9. namespace Here;
  10.  
  11. class Pravoslaven {
  12.  
  13.     public static function pravoslavenDen($time = null) {
  14.         if ($time == null) {
  15.             $time = \time();
  16.         }
  17.         return \date('Y-m-d', \strtotime('-' . self::trinadeset() . ' days', $time));
  18.     }
  19.  
  20.     /**
  21.      * Отчитане на натрупаната грешка дали 13, 14 или 15 дни и т.н.
  22.      * @param string $data
  23.      * @return integer
  24.      */
  25.     public static function trinadeset($data = null) {
  26.         if ($data == null) {
  27.             $data = \date('Y-m-d');
  28.             $godina = \date('Y');
  29.         } else {
  30.             $godina = \explode('-', $data)[0];
  31.         }
  32.         $trinadeset = \intval(($godina / 100)) -  \intval(($godina / 400)) - 2;
  33.         if (\strtotime($godina . '-02-29') > \strtotime($data) && $trinadeset >  \intval((($godina - 1) / 100)) -  \intval((($godina - 1) / 400)) - 2) {
  34.             $trinadeset = $trinadeset - 1;
  35.         }
  36.         return $trinadeset;
  37.     }
  38.    
  39.     /**
  40.      *
  41.      * @param string $data
  42.      * @example format (Y-m-d)
  43.      * @return string
  44.      */
  45.     public static function getPravData($data = null) {
  46.         if ($data == null) {
  47.             $time = \time();
  48.         } else {
  49.             $time = \strtotime($data);
  50.         }
  51.         $prav_data = \explode('-', self::pravoslavenDen($time));
  52.         return $prav_data[2] . ' ' . \Main\Time::getInstance()->getFullMonths()[\intval($prav_data[1])] . ' ' . $prav_data[0];// Взема пълното име на месеца от външен клас
  53.     }
  54. }
  55.  
Всички подвижни празници са свързани с Великден.
« Последна редакция: 05 Ноември 2019, 18:35:51 от HanKrum »
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой