Compare commits
No commits in common. "master" and "updating-top-banner" have entirely different histories.
master
...
updating-t
45
README.md
|
@ -107,21 +107,33 @@ todo: да се добави и url към някакъв homepage, като с
|
|||
|
||||
## Комуникация с clarion
|
||||
|
||||
Clarion ни предоставя JSON интерфейс с всичките неща, от които се генерира програмата.
|
||||
Има няколко скрипта, които наливат информацията от clarion в текущия сайт, и един който директно я връща на потребителите. Всички си говорят с clarion през връзка до базада му, създадена от dbconn.php в initfest (в repo-то има dbconn.dist.pp, като пример какво трябва да има във файла).
|
||||
|
||||
Данните се дърпат чрез smartCurl (който и кешира данните) и от тях се генерират програмата на сайта и списъкът с лекторите.
|
||||
/calendar2014.php директно говори с базата данни на clarion и подава на потребителите в ICS формат календар с програмата, който могат да използват в каквито приложения се поддържат.
|
||||
|
||||
Скриптовете в initfest/ темата (сложени там поради липса на по-приятно място) се базират на малко заимстван код за cli wordpress скриптове (може да се види в cli-header.php) и са следните:
|
||||
|
||||
* load-program-old.php - генерира програмата и я зарежда в стария вид (като стария сайт)
|
||||
* load-program.php - генерира програмата и я зарежда в новия и вид.
|
||||
* load-speakers.php - изтрива всички съществуващи лектори и ги създава наново, в двата езика и със снимките им.
|
||||
|
||||
Скриптовете, които генерират програмата правят #href link-ове към страницата с лекторите, за да работят линковете. href-овете са наименувани като името на лектора.
|
||||
|
||||
### schedule-config.php
|
||||
### load-program.php
|
||||
|
||||
За да се избере какво да се визуализира, се ползва schedule-config.php, който от своя страна се зарежда от page-schedule.php и page-speakers.php.
|
||||
В този скрипт има няколко hardcode-нати неща, които в някой момент трябва да се изчистят:
|
||||
|
||||
Има два елемента, които се вадят от името на сайта/страницата - дали става въпрос за лекции или workshop-и, и за коя година става въпрос. На база на тях getSchedConfig() в schedule/config.php избира кое е id-то на конференцията и кой тип са лекциите и workshop-ите.
|
||||
* map м/у id-тата на потоците и стиловете им в css-а
|
||||
* преводи на разни string-ове
|
||||
* id-та на статиите, в които се пише програмата (това може да се реши по-лесно с custom field и да се маркират някъде, а скрипта да ги търси)
|
||||
* url-тата на страниците с лекторите (това също трябва да има по-чист начин)
|
||||
* Също така би било хубаво да може да се извади някаква част от template-ите и да се избегне повторението за българския и английския на някакви части от кода
|
||||
|
||||
### Генериране на външния вид на таблицата
|
||||
### load-speakers.php
|
||||
|
||||
Черна магия, Slackware трябва да го опише.
|
||||
В скрипта има hardcode-нато предположение къде се намират снимките на лекторите в clarion-а. Скриптът създава post-овете, добавя им нужните custom field-ове (за момента github, twitter и public email), слага ги за различните езици и ги връзва.
|
||||
|
||||
todo: Скриптът зарежда два пъти снимката на лектора, веднъж за българския, веднъж за английския post, което трябва да може да се избегне.
|
||||
|
||||
## functions.php
|
||||
|
||||
|
@ -130,22 +142,3 @@ Clarion ни предоставя JSON интерфейс с всичките н
|
|||
* openfest_home_page() - връща дали е главната страница, поради един проблем, създаден от polylang, заради който is_front_page() не работеше.
|
||||
* of_get_lang(), е_() - wrapper-и около polylang, ако липсва plugin-а.
|
||||
* pn_get_attachment_id_from_url - отмъкната функция, която намира id на attachment от url, трябва при зареждането на снимките на лекторите.
|
||||
|
||||
## Създаване на сайт за ново издание на събитието
|
||||
|
||||
Клонира се последният сайт с помощта на NS Cloner plugin-а от главния админ панел на сайта. За slug на сайта е редно да се използва годината на предстоящото събитие, тъй като това ще бъде "ключ" за графичните елементи (виж по-долу).
|
||||
|
||||
Статусът на всички публикации се слага на "Чернова", за да не се виждат в сайта, но да могат при нужда да се използват за шаблони.
|
||||
|
||||
В **Languages -> Strings translations** трябва да се обнови информация като име и описание на събитието, дати и местоположение на залата.
|
||||
|
||||
За да излезе новият сайт на началната страница, maniax трябва да направи някаква магия в базата, тъй като redirect плъгинът е счупен.
|
||||
|
||||
### Обновяване на визията
|
||||
|
||||
Всяка година се променя визията на сайта. Ако няма намеса в layout-а, е достатъчно да бъдат добавени следните картинки (със съответната година в името):
|
||||
* `banner-back-2020.jpg` - фон за шапката на сайта
|
||||
* `banner-bg-2020.png` - надпис на български в/у горния с името на събитието, дати и място
|
||||
* `banner-en-2020.png` - като горния надпис, но на английски
|
||||
* `logo-2020.png` - лого на събитието
|
||||
* `navbg-2020.png` - фон за менюто в най-горната част на сайта. Обикновено е градиент от бяло към основния цвят.
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
$eventsConfig = [
|
||||
'2024' => [
|
||||
'startTime' => '2024-11-02 09:45:00',
|
||||
'endTime' => '2024-11-03 18:15:00',
|
||||
'streams' => [[
|
||||
'startTime' => '2024-11-02 09:45:00',
|
||||
'endTime' => '2024-11-02 19:00:00',
|
||||
'tracks' => ['hall-a', 'hall-b'],
|
||||
], [
|
||||
'startTime' => '2024-11-03 09:45:00',
|
||||
'endTime' => '2024-11-03 18:15:00',
|
||||
'tracks' => ['hall-a', 'hall-b'],
|
||||
]],
|
||||
],
|
||||
];
|
186
css/styles.css
|
@ -3,7 +3,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Arimo'), url(//fonts.gstatic.com/s/arimo/v8/an78_18DAUCSU6a4qacRuA.woff2) format('woff2');
|
||||
src: local('Arimo'), url(http://fonts.gstatic.com/s/arimo/v8/an78_18DAUCSU6a4qacRuA.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
|
@ -11,7 +11,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Arimo'), url(//fonts.gstatic.com/s/arimo/v8/4NN7UQ_VsRBn7NDD9HKUPw.woff2) format('woff2');
|
||||
src: local('Arimo'), url(http://fonts.gstatic.com/s/arimo/v8/4NN7UQ_VsRBn7NDD9HKUPw.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
|
@ -19,7 +19,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Arimo'), url(//fonts.gstatic.com/s/arimo/v8/ye-fuRt_0mKrPeIp6Mwa8A.woff2) format('woff2');
|
||||
src: local('Arimo'), url(http://fonts.gstatic.com/s/arimo/v8/ye-fuRt_0mKrPeIp6Mwa8A.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
|
@ -27,7 +27,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Arimo'), url(//fonts.gstatic.com/s/arimo/v8/VF6T-UwCT6WyIiUKP6AykQ.woff2) format('woff2');
|
||||
src: local('Arimo'), url(http://fonts.gstatic.com/s/arimo/v8/VF6T-UwCT6WyIiUKP6AykQ.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
|
@ -35,7 +35,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Arimo'), url(//fonts.gstatic.com/s/arimo/v8/eSHy7hCA8QR4qTF-59v60g.woff2) format('woff2');
|
||||
src: local('Arimo'), url(http://fonts.gstatic.com/s/arimo/v8/eSHy7hCA8QR4qTF-59v60g.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
|
@ -43,7 +43,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Arimo'), url(//fonts.gstatic.com/s/arimo/v8/V41d6938Z8eBLYL302F8Ig.woff2) format('woff2');
|
||||
src: local('Arimo'), url(http://fonts.gstatic.com/s/arimo/v8/V41d6938Z8eBLYL302F8Ig.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
|
@ -51,7 +51,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Arimo'), url(//fonts.gstatic.com/s/arimo/v8/chnpHRvNNCWcZBKRQ4gVug.woff2) format('woff2');
|
||||
src: local('Arimo'), url(http://fonts.gstatic.com/s/arimo/v8/chnpHRvNNCWcZBKRQ4gVug.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
|
@ -59,7 +59,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(//fonts.gstatic.com/s/arimo/v8/ar6XjGD_YvbpY9XD5YxKTBTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(http://fonts.gstatic.com/s/arimo/v8/ar6XjGD_YvbpY9XD5YxKTBTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
|
@ -67,7 +67,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(//fonts.gstatic.com/s/arimo/v8/XzFO_hPcAZmADxw_2htokBTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(http://fonts.gstatic.com/s/arimo/v8/XzFO_hPcAZmADxw_2htokBTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
|
@ -75,7 +75,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(//fonts.gstatic.com/s/arimo/v8/Tq4Zh2K0uru54pu6hyua9BTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(http://fonts.gstatic.com/s/arimo/v8/Tq4Zh2K0uru54pu6hyua9BTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
|
@ -83,7 +83,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(//fonts.gstatic.com/s/arimo/v8/gRIQMcBGUlcKSvTGaO9yHBTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(http://fonts.gstatic.com/s/arimo/v8/gRIQMcBGUlcKSvTGaO9yHBTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
|
@ -91,7 +91,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(//fonts.gstatic.com/s/arimo/v8/u0Tw4Txbkc9Av4uzN1j1aBTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(http://fonts.gstatic.com/s/arimo/v8/u0Tw4Txbkc9Av4uzN1j1aBTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
|
@ -99,7 +99,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(//fonts.gstatic.com/s/arimo/v8/XCmwOdi6K62tkWaszbVGURTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(http://fonts.gstatic.com/s/arimo/v8/XCmwOdi6K62tkWaszbVGURTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
|
@ -107,7 +107,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(//fonts.gstatic.com/s/arimo/v8/27rE5lMk9EHpLbxiIuGd0BTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
src: local('Arimo Bold'), local('Arimo-Bold'), url(http://fonts.gstatic.com/s/arimo/v8/27rE5lMk9EHpLbxiIuGd0BTbgVql8nDJpwnrE27mub0.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
|
@ -115,7 +115,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(//fonts.gstatic.com/s/arimo/v8/-lqiBwxkYHykb59Lvn7rk_Y6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(http://fonts.gstatic.com/s/arimo/v8/-lqiBwxkYHykb59Lvn7rk_Y6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
|
@ -123,7 +123,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(//fonts.gstatic.com/s/arimo/v8/tvCMF1Qlf0MEvcc7JEzrhfY6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(http://fonts.gstatic.com/s/arimo/v8/tvCMF1Qlf0MEvcc7JEzrhfY6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
|
@ -131,7 +131,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(//fonts.gstatic.com/s/arimo/v8/aKQL0kir7sjNM0_YzHc9yvY6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(http://fonts.gstatic.com/s/arimo/v8/aKQL0kir7sjNM0_YzHc9yvY6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
|
@ -139,7 +139,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(//fonts.gstatic.com/s/arimo/v8/c6Ldt38oFMowvdIZIi9CaPY6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(http://fonts.gstatic.com/s/arimo/v8/c6Ldt38oFMowvdIZIi9CaPY6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
|
@ -147,7 +147,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(//fonts.gstatic.com/s/arimo/v8/Phj51JGRBuPcxq7i7-qcHPY6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(http://fonts.gstatic.com/s/arimo/v8/Phj51JGRBuPcxq7i7-qcHPY6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
|
@ -155,7 +155,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(//fonts.gstatic.com/s/arimo/v8/-CSRdP_Aes2aBSIDGwIm6vY6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(http://fonts.gstatic.com/s/arimo/v8/-CSRdP_Aes2aBSIDGwIm6vY6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
|
@ -163,7 +163,7 @@
|
|||
font-family: 'Arimo';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(//fonts.gstatic.com/s/arimo/v8/W9ndJDdcIndrj-dqFXLbVvY6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
src: local('Arimo Italic'), local('Arimo-Italic'), url(http://fonts.gstatic.com/s/arimo/v8/W9ndJDdcIndrj-dqFXLbVvY6323mHUZFJMgTvxaG2iE.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
|
||||
|
@ -228,7 +228,7 @@ h3 small {
|
|||
/* Navigation */
|
||||
nav {
|
||||
position: relative;
|
||||
height: 81px;
|
||||
height: 84px;
|
||||
background: url("../img/navbg.jpg") repeat-x;
|
||||
}
|
||||
nav ul {
|
||||
|
@ -276,10 +276,6 @@ nav .menu > li:hover {
|
|||
text-indent: -9999px;
|
||||
}
|
||||
|
||||
nav > .content {
|
||||
max-width: 1080px;
|
||||
}
|
||||
|
||||
nav ul a {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
|
@ -321,18 +317,13 @@ nav .logo {
|
|||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 99 !important;
|
||||
}
|
||||
nav .selected {
|
||||
font-weight: bold;
|
||||
}
|
||||
@media all and (max-width: 840px) {
|
||||
nav .logo {
|
||||
display: block;
|
||||
position: relative;
|
||||
width: 110px;
|
||||
height: 94px;
|
||||
margin: 0 auto 15px;
|
||||
display: none;
|
||||
}
|
||||
nav .logo img {
|
||||
display: block;
|
||||
|
@ -406,6 +397,7 @@ nav .selected {
|
|||
padding: 0 0 0 1em;
|
||||
}
|
||||
.grid .col3 {
|
||||
width: 33%;
|
||||
float: left;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
|
@ -602,49 +594,10 @@ footer .content li a {
|
|||
display: inline-block;
|
||||
margin: 0 0 2em 0;
|
||||
}
|
||||
.sponsors-item .tac a {
|
||||
display: inline-block;
|
||||
width: 15em;
|
||||
height: 9em;
|
||||
line-height: 9em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
.sponsors-item .tac a img {
|
||||
width: auto;
|
||||
height: auto;
|
||||
max-width: calc(15em - 0.6em); /* width - (left+right padding) */
|
||||
max-height: calc(9em - 0.6em);
|
||||
padding: 0.3em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.sponsors-item .tac p {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.sponsors-frontpage {
|
||||
text-align: center;
|
||||
}
|
||||
.sponsors-frontpage h3,
|
||||
.sponsors-frontpage .content {
|
||||
text-align: left;
|
||||
}
|
||||
.sponsors-frontpage a {
|
||||
display: inline-block;
|
||||
padding: 0;
|
||||
margin: 0.3em;
|
||||
width: calc(15em - 0.6em - 2px); /* width - (left+right margin) - (left+right border) */
|
||||
height: calc(9em - 0.6em - 2px);
|
||||
line-height: calc(9em - 0.6em - 2px);
|
||||
border: solid 1px #DBDBDB;
|
||||
text-align: center;
|
||||
}
|
||||
.sponsors-frontpage a img {
|
||||
width: auto;
|
||||
height: auto;
|
||||
max-width: calc(15em - 1.2em - 2px); /* width - (left+right margin&padding) - (left+right border) */
|
||||
max-height: calc(9em - 1.2em - 2px);
|
||||
padding: 0.3em;
|
||||
vertical-align: middle;
|
||||
padding: 0 2.2em 1em 0;
|
||||
}
|
||||
.sponsors-frontpage p a {
|
||||
display: inline;
|
||||
|
@ -671,8 +624,7 @@ h6 { font-size: 1.0em; }
|
|||
|
||||
h1, h2, h3, h4, h5, h6 { font-weight: normal; }
|
||||
|
||||
a { color: #764C9E; text-decoration: none; }
|
||||
/* a { color: #428bca; text-decoration: none; } */
|
||||
a { color: #428bca; text-decoration: none; }
|
||||
a:hover { text-decoration: underline; }
|
||||
|
||||
|
||||
|
@ -742,10 +694,10 @@ a.button:hover { opacity: 0.8; }
|
|||
.program table {
|
||||
width: 99%;
|
||||
}
|
||||
/*
|
||||
|
||||
.program h2 {
|
||||
}
|
||||
*/
|
||||
|
||||
.program table, .program td, .program tr, .program th {
|
||||
border: 0;
|
||||
}
|
||||
|
@ -863,11 +815,10 @@ a.button:hover { opacity: 0.8; }
|
|||
.schedule-social {
|
||||
background: #a6b4de;
|
||||
}
|
||||
/*
|
||||
.schedule-14 {
|
||||
background: #;
|
||||
}
|
||||
*/
|
||||
|
||||
/* Advanced technical track 2015 */
|
||||
.schedule-advanced-technical {
|
||||
background: #DF9959;
|
||||
|
@ -897,11 +848,6 @@ a.button:hover { opacity: 0.8; }
|
|||
background: #E2E0E9;
|
||||
}
|
||||
|
||||
/* Education track 2015*/
|
||||
.schedule-education {
|
||||
background: #ffaa36;
|
||||
}
|
||||
|
||||
.schedule-en::after {
|
||||
content: " ";
|
||||
background: url('../img/en_US.png');
|
||||
|
@ -959,77 +905,3 @@ footer.entry-footer {
|
|||
float: right;
|
||||
margin-left: 1.625em;
|
||||
}
|
||||
|
||||
.videoWrapper {
|
||||
position: relative;
|
||||
padding-bottom: 56.25%;
|
||||
height: 0;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.videoWrapper > iframe {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 0;
|
||||
}
|
||||
@media all and (max-width: 600px) {
|
||||
p.info + p {
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
section.subtitle_content {
|
||||
background: #f0f0f0;
|
||||
padding: 10px;
|
||||
text-align: justify;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* countdown */
|
||||
.countdown {
|
||||
text-align: center;
|
||||
margin-top: 18px;
|
||||
}
|
||||
|
||||
.countdown > table {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.countdown .digits > td {
|
||||
font-size: 30px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.countdown .units > td {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* no current streams */
|
||||
.no_current_streams {
|
||||
text-align: center;
|
||||
margin-top: 18px;
|
||||
}
|
||||
|
||||
/* after event */
|
||||
.after_event {
|
||||
text-align: center;
|
||||
margin-top: 18px;
|
||||
}
|
||||
|
||||
/* front page stream players */
|
||||
.stream_players_wrapper {
|
||||
display: flex;
|
||||
column-gap: 10px;
|
||||
}
|
||||
|
||||
@media all and (max-width: 960px) {
|
||||
.stream_players_wrapper {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
.stream_players_wrapper > * {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
|
|
@ -1,2 +1,5 @@
|
|||
<section class="entry-meta">
|
||||
<span class="author vcard"><?php the_author_posts_link(); ?></span>
|
||||
<span class="meta-sep"> | </span>
|
||||
<span class="entry-date"><?php the_time( get_option( 'date_format' ) ); ?></span>
|
||||
</section>
|
||||
|
|
BIN
favicon.ico
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 15 KiB |
|
@ -14,17 +14,12 @@
|
|||
<?php wp_nav_menu(array('theme_location' => 'footer-schedule', 'items_wrap' => '%3$s<br/>' )); ?>
|
||||
</p>
|
||||
</div>
|
||||
<?php
|
||||
$blog_slug = get_blog_slug();
|
||||
if ( $blog_slug !== '2020' ) {
|
||||
?>
|
||||
<div class="col4">
|
||||
<h3><?php e_('Други')?></h3>
|
||||
<p>
|
||||
<?php wp_nav_menu(array('theme_location' => 'footer-others', 'items_wrap' => '%3$s<br/>' )); ?>
|
||||
</p>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<div class="col4">
|
||||
<h3><?php e_('Последвайте ни в:')?></h3>
|
||||
<p>
|
||||
|
|
|
@ -1,99 +0,0 @@
|
|||
<?php
|
||||
if (!function_exists('get_blog_slug')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
require __DIR__ . '/config-events.php';
|
||||
|
||||
$blog_slug = get_blog_slug();
|
||||
|
||||
if (!array_key_exists($blog_slug, $eventsConfig)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$now = new DateTimeImmutable('now');
|
||||
|
||||
function interval_to_now(string $dateTimeStr) {
|
||||
global $now;
|
||||
return $now->diff(new DateTimeImmutable($dateTimeStr . ' Europe/Sofia'));
|
||||
}
|
||||
|
||||
function is_before_interval(DateInterval $interval) {
|
||||
return $interval->invert === 0;
|
||||
}
|
||||
|
||||
function is_after_interval(DateInterval $interval) {
|
||||
return $interval->invert === 1;
|
||||
}
|
||||
|
||||
$eventStartInterval = interval_to_now($eventsConfig[$blog_slug]['startTime']);
|
||||
$isBeforeEvent = is_before_interval($eventStartInterval);
|
||||
|
||||
$eventEndInterval = interval_to_now($eventsConfig[$blog_slug]['endTime']);
|
||||
$isAfterEvent = is_after_interval($eventEndInterval);
|
||||
|
||||
$activeStreams = array_filter($eventsConfig[$blog_slug]['streams'], function($stream) {
|
||||
$streamStartInterval = interval_to_now($stream['startTime']);
|
||||
$streamEndInterval = interval_to_now($stream['endTime']);
|
||||
|
||||
return is_after_interval($streamStartInterval) && is_before_interval($streamEndInterval);
|
||||
});
|
||||
$activeStream = reset($activeStreams);
|
||||
|
||||
$noCurrentStreams = !$isBeforeEvent && !$isAfterEvent && $activeStream === false;
|
||||
|
||||
if ($isBeforeEvent) {
|
||||
?>
|
||||
<div class="countdown">
|
||||
<?php e_('countdown_text_before'); ?>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="digits">
|
||||
<td><?php echo $eventStartInterval->format('%a'); ?></td>
|
||||
<td><?php echo $eventStartInterval->format('%H'); ?></td>
|
||||
<td><?php echo $eventStartInterval->format('%I'); ?></td>
|
||||
</tr>
|
||||
<tr class="units">
|
||||
<td><?php e_('countdown_days'); ?></td>
|
||||
<td><?php e_('countdown_hours'); ?></td>
|
||||
<td><?php e_('countdown_minutes'); ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php e_('countdown_text_after'); ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
if ($activeStream) {
|
||||
?>
|
||||
<div class="stream_players_wrapper">
|
||||
<?php
|
||||
foreach ($activeStream['tracks'] as $track) {
|
||||
?>
|
||||
<div>
|
||||
<h3><?php e_($track); ?></h3>
|
||||
<?php echo do_shortcode('[stream-player track="' . $track . '"]'); ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
if ($noCurrentStreams) {
|
||||
?>
|
||||
<div class="no_current_streams">
|
||||
<?php e_('no_current_streams'); ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
if ($isAfterEvent) {
|
||||
?>
|
||||
<div class="after_event">
|
||||
<?php e_('after_event'); ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
|
@ -1,11 +1,4 @@
|
|||
<?php get_header(); ?>
|
||||
|
||||
<section class="content subtitle_content">
|
||||
<?php
|
||||
e_('about_event');
|
||||
require __DIR__ . '/front-page-content.php';
|
||||
?>
|
||||
</section>
|
||||
<section class="content">
|
||||
<?php echo do_shortcode( '[sh-latest-posts cat="news" label="'.pll__('Новини').'"]' ); ?>
|
||||
<div class="separator"></div>
|
||||
|
|
162
functions.php
|
@ -1,47 +1,12 @@
|
|||
<?php
|
||||
|
||||
# Add support for thumbnais
|
||||
# Add support for thumbnais
|
||||
add_theme_support( 'post-thumbnails' );
|
||||
add_theme_support( 'automatic-feed-links' );
|
||||
|
||||
add_filter( 'the_excerpt', 'shortcode_unautop');
|
||||
add_filter( 'the_excerpt', 'do_shortcode');
|
||||
|
||||
function get_blog_slug() {
|
||||
if (!is_multisite()) {
|
||||
// local development, non-multisite
|
||||
return date('Y');
|
||||
}
|
||||
|
||||
$blog_details = get_blog_details();
|
||||
return trim($blog_details->path, '/');
|
||||
}
|
||||
|
||||
// OpenGraph image for FB/Twitter
|
||||
function og_image( $tags ) {
|
||||
$blog_slug = get_blog_slug();
|
||||
|
||||
$imagePath = __DIR__ . '/img/fb_preview_' . $blog_slug . '.jpg';
|
||||
|
||||
if (file_exists($imagePath)) {
|
||||
$imageUrl = esc_url('https://www.openfest.org/wp-content/themes/initfest/img/' . basename($imagePath));
|
||||
list($width, $height) = getimagesize($imagePath);
|
||||
|
||||
$tags['og:image'] = $imageUrl;
|
||||
$tags['og:image:width'] = $width;
|
||||
$tags['og:image:height'] = $height;
|
||||
$tags['twitter:image'] = $imageUrl;
|
||||
}
|
||||
|
||||
return $tags;
|
||||
}
|
||||
add_filter( 'jetpack_open_graph_tags', 'og_image' );
|
||||
|
||||
|
||||
register_nav_menus(
|
||||
array( 'main-menu' => __( 'Main Menu', 'initfest' ),
|
||||
'subnav-menu' => __( 'Sub Navigation', 'initfest'),
|
||||
'stream-menu' => __('Stream Menu', 'initfest'),
|
||||
'subnav-menu' => __( 'Sub Navigation', 'initfest'),
|
||||
'footer-openfest' => __('OpenFest', 'initfest'),
|
||||
'footer-openfest' => __('OpenFest', 'initfest'),
|
||||
'footer-schedule' => __('Schedule', 'initfest'),
|
||||
|
@ -56,27 +21,22 @@ function register_shortcodes(){
|
|||
add_shortcode('sponsors', 'sponsors_shortcode');
|
||||
add_shortcode('partners', 'partners_shortcode');
|
||||
add_shortcode('transport', 'transport_shortcode');
|
||||
add_shortcode('stream-player', 'stream_player_shortcode');
|
||||
}
|
||||
|
||||
add_action( 'init', 'register_shortcodes');
|
||||
|
||||
|
||||
function sh_latest_posts($atts){
|
||||
if (of_get_lang()=='bg')
|
||||
$ncat = "news-bg";
|
||||
else
|
||||
$ncat = "news";
|
||||
$atts = array(
|
||||
'cat' => $ncat,
|
||||
$atts = shortcode_atts( array(
|
||||
'cat' => 'news',
|
||||
'label' => __('News', 'initfest')
|
||||
);
|
||||
|
||||
), $atts );
|
||||
|
||||
$result = '<section class="content"><h3>'.$atts['label'].' | <small><a href="'.esc_url(get_term_link($atts['cat'], 'category')).'">'.__('see all', 'initfest').'</a></small></h3><div class="grid">';
|
||||
|
||||
|
||||
|
||||
|
||||
$news_args = array( 'category_name' => 'news,news-bg', 'numberposts' => 6, 'lang' => of_get_lang() );
|
||||
$news = new WP_Query( $news_args );
|
||||
$news = new WP_Query( $news_args );
|
||||
|
||||
ob_start();
|
||||
if ( $news->have_posts() ) :
|
||||
|
@ -85,11 +45,12 @@ function sh_latest_posts($atts){
|
|||
?>
|
||||
<div class="col3">
|
||||
<h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
|
||||
<p class="info"><?php pll_e('От');?> <?php the_author(); ?> | <?php pll_e('Публикувано на');?> <?php the_date(); ?> </p>
|
||||
<?php the_excerpt(); ?>
|
||||
<a class="button" href="<?php the_permalink(); ?>"><?php pll_e('виж цялата новина');?></a>
|
||||
</div>
|
||||
<?php
|
||||
# if ($i==3)
|
||||
<?php
|
||||
if ($i==3)
|
||||
echo '</div></section><section class="content"><div class="grid">';
|
||||
endwhile;
|
||||
|
||||
|
@ -98,9 +59,9 @@ function sh_latest_posts($atts){
|
|||
$result .= ob_get_contents();
|
||||
$result .='</div></section>';
|
||||
ob_end_clean();
|
||||
|
||||
|
||||
return $result;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -108,9 +69,9 @@ function sh_latest_posts($atts){
|
|||
function sponsors_shortcode() {
|
||||
$result= '<h3>'.pll__('Спонсори').'</h3>';
|
||||
|
||||
|
||||
|
||||
$sponsors_args = array( 'post_type' => 'sponsors', 'orderby' => 'rand', 'nopaging' => 'true');
|
||||
$sponsors = new WP_Query( $sponsors_args );
|
||||
$sponsors = new WP_Query( $sponsors_args );
|
||||
|
||||
ob_start();
|
||||
|
||||
|
@ -143,9 +104,9 @@ function sponsors_shortcode() {
|
|||
function partners_shortcode() {
|
||||
$result= '<h3>'.pll__('Партньори').'</h3>';
|
||||
|
||||
|
||||
|
||||
$sponsors_args = array( 'post_type' => 'sponsors', 'orderby' => 'rand', 'nopaging' => 'true' );
|
||||
$sponsors = new WP_Query( $sponsors_args );
|
||||
$sponsors = new WP_Query( $sponsors_args );
|
||||
|
||||
ob_start();
|
||||
|
||||
|
@ -175,12 +136,12 @@ function partners_shortcode() {
|
|||
}
|
||||
|
||||
|
||||
# Create shortcode for transport methods
|
||||
# Create shortcode for transport methods
|
||||
function transport_shortcode() {
|
||||
$result= '<section class="content"><h3>'.pll__('Място').': '.pll__('VENUE_LOCATION').'</h3>';
|
||||
|
||||
$transport_args = array( 'post_type' => 'transportation' );
|
||||
$transport = new WP_Query( $transport_args );
|
||||
$transport = new WP_Query( $transport_args );
|
||||
|
||||
ob_start();
|
||||
|
||||
|
@ -189,13 +150,13 @@ function transport_shortcode() {
|
|||
?>
|
||||
<h4><?php the_title(); ?></h4>
|
||||
<p><?php the_content(); ?></p>
|
||||
<?php
|
||||
<?php
|
||||
endwhile;
|
||||
endif;
|
||||
?>
|
||||
</section>
|
||||
<?php
|
||||
//echo do_shortcode( '[ready_google_map id="2" map_language="en" align="center"]' );
|
||||
//echo do_shortcode( '[ready_google_map id="2" map_language="en" align="center"]' );
|
||||
|
||||
$result .= ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
@ -204,26 +165,6 @@ function transport_shortcode() {
|
|||
}
|
||||
|
||||
|
||||
function stream_player_shortcode($params = []) {
|
||||
wp_enqueue_style('video.js', 'https://unpkg.com/video.js/dist/video-js.css');
|
||||
wp_enqueue_script('video.js', 'https://unpkg.com/video.js/dist/video.min.js');
|
||||
|
||||
$params = array_merge([
|
||||
'host' => 'stream.openfest.org',
|
||||
'track' => 'hall-a',
|
||||
], $params);
|
||||
|
||||
$urlPrefix = 'https://' . $params['host'] . '/';
|
||||
|
||||
return <<<EOF
|
||||
<video class="video-js vjs-fluid" controls data-setup="{}">
|
||||
<source type="application/x-mpegURL" src="{$urlPrefix}hls/{$params['track']}.m3u8"></source>
|
||||
<source type="application/dash+xml" src="{$urlPrefix}dash/{$params['track']}.mpd"></source>
|
||||
</video>
|
||||
EOF;
|
||||
}
|
||||
|
||||
|
||||
# Create a custom post type for Sponsors
|
||||
function create_sponsors_posttype() {
|
||||
|
||||
|
@ -267,7 +208,7 @@ function create_sponsors_posttype() {
|
|||
add_action( 'init', 'create_sponsors_posttype' );
|
||||
|
||||
|
||||
# Create a custom post type for Speakers
|
||||
# Create a custom post type for Speakers
|
||||
function create_speakers_posttype() {
|
||||
|
||||
$labels = array(
|
||||
|
@ -310,7 +251,7 @@ function create_speakers_posttype() {
|
|||
add_action( 'init', 'create_speakers_posttype' );
|
||||
|
||||
|
||||
# Create a custom post type for Tranportation
|
||||
# Create a custom post type for Tranportation
|
||||
function transportation_posttype() {
|
||||
|
||||
register_post_type( 'transportation',
|
||||
|
@ -345,31 +286,31 @@ function e_($word) {
|
|||
}
|
||||
|
||||
function pn_get_attachment_id_from_url( $attachment_url = '' ) {
|
||||
|
||||
|
||||
global $wpdb;
|
||||
$attachment_id = false;
|
||||
|
||||
|
||||
// If there is no url, return.
|
||||
if ( '' == $attachment_url )
|
||||
return;
|
||||
|
||||
|
||||
// Get the upload directory paths
|
||||
$upload_dir_paths = wp_upload_dir();
|
||||
|
||||
|
||||
// Make sure the upload path base directory exists in the attachment URL, to verify that we're working with a media library image
|
||||
if ( false !== strpos( $attachment_url, $upload_dir_paths['baseurl'] ) ) {
|
||||
|
||||
|
||||
// If this is the URL of an auto-generated thumbnail, get the URL of the original image
|
||||
$attachment_url = preg_replace( '/-\d+x\d+(?=\.(jpg|jpeg|png|gif)$)/i', '', $attachment_url );
|
||||
|
||||
|
||||
// Remove the upload path base directory from the attachment URL
|
||||
$attachment_url = str_replace( $upload_dir_paths['baseurl'] . '/', '', $attachment_url );
|
||||
|
||||
|
||||
// Finally, run a custom database query to get the attachment ID from the modified attachment URL
|
||||
$attachment_id = $wpdb->get_var( $wpdb->prepare( "SELECT wposts.ID FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta WHERE wposts.ID = wpostmeta.post_id AND wpostmeta.meta_key = '_wp_attached_file' AND wpostmeta.meta_value = '%s' AND wposts.post_type = 'attachment'", $attachment_url ) );
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
return $attachment_id;
|
||||
}
|
||||
add_action( 'init', 'transportation_posttype' );
|
||||
|
@ -394,41 +335,4 @@ if (function_exists("pll_register_string")) {
|
|||
pll_register_string('hall3','G1');
|
||||
pll_register_string('hall4','Пловдив');
|
||||
pll_register_string('hall5','Бургас');
|
||||
pll_register_string('bulgaria_hall','BULGARIA_HALL');
|
||||
pll_register_string('chamber_hall','CHAMBER_HALL');
|
||||
pll_register_string('music_hall','MUSIC_HALL');
|
||||
pll_register_string('low_quality','LOW_QUALITY');
|
||||
pll_register_string('normal_quality','NORMAL_QUALITY');
|
||||
pll_register_string('high_quality','HIGH_QUALITY');
|
||||
pll_register_string('all_streams','ALL_STREAMS');
|
||||
pll_register_string('tba','TBA');
|
||||
pll_register_string('feedback','Submit feedback');
|
||||
pll_register_string('about_event','about_event');
|
||||
pll_register_string('countdown_text_before','countdown_text_before');
|
||||
pll_register_string('countdown_text_after','countdown_text_after');
|
||||
pll_register_string('countdown_days','countdown_days');
|
||||
pll_register_string('countdown_hours','countdown_hours');
|
||||
pll_register_string('countdown_minutes','countdown_minutes');
|
||||
pll_register_string('after_event','after_event');
|
||||
pll_register_string('no_current_streams','no_current_streams');
|
||||
pll_register_string('hall-a','hall-a');
|
||||
pll_register_string('hall-b','hall-b');
|
||||
}
|
||||
|
||||
add_filter( 'wp_title', 'wpdocs_hack_wp_title_for_home' );
|
||||
|
||||
/**
|
||||
* Customize the title for the home page, if one is not set.
|
||||
*
|
||||
* @param string $title The original title.
|
||||
* @return string The title to use.
|
||||
*/
|
||||
function wpdocs_hack_wp_title_for_home( $title )
|
||||
{
|
||||
if ( empty( $title ) && ( is_home() || is_front_page() ) ) {
|
||||
$title = get_bloginfo('name') . ' | ' . get_bloginfo( 'description' );
|
||||
} else {
|
||||
$title = $title . get_bloginfo( 'tagline' );
|
||||
}
|
||||
return $title;
|
||||
}
|
||||
|
|
64
header.php
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html <?php language_attributes(); ?>>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="imagetoolbar" content="no" />
|
||||
<meta name="author" content="OpenFest" />
|
||||
|
@ -13,68 +13,28 @@
|
|||
|
||||
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!--<link rel="icon" type="image/png" href="">-->
|
||||
<link rel="shortcut icon" href="<?php echo get_stylesheet_directory_uri(); ?>/favicon.ico" />
|
||||
|
||||
<title><?php wp_title( ' | ', true, 'right' ) ?></title>
|
||||
<link rel="shortcut icon" href="<?php echo get_stylesheet_directory_uri(); ?>/favicon.ico" />
|
||||
|
||||
<title><?php is_front_page() ? (bloginfo('name').e_(' | ').e_('Да споделим свободата')) : wp_title( ' | ', true, 'right' ); ?></title>
|
||||
|
||||
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_uri(); ?>" />
|
||||
<?php wp_head(); ?>
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
$blog_slug = get_blog_slug();
|
||||
|
||||
if ($blog_slug === '2019' || $blog_slug === '2020') {
|
||||
echo '<nav style="background: url(\''.get_template_directory_uri().'/img/navbg-'.$blog_slug.'.png\'); height: 84px">';
|
||||
}
|
||||
elseif ($blog_slug === '2024') {
|
||||
echo '<nav style="background-image: linear-gradient(#FFFFFF, #BFFAF4);">';
|
||||
} else {
|
||||
echo '<nav>';
|
||||
}
|
||||
?>
|
||||
<nav>
|
||||
<div class="content cf">
|
||||
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" class="logo"><img src="<?php echo get_template_directory_uri().'/img/logo-'.$blog_slug.'.png'; ?>" alt="OpenFest" /></a>
|
||||
|
||||
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" class="logo"><img src="<?php echo get_template_directory_uri(); ?>/img/logo.png" alt="OpenFest" /></a>
|
||||
|
||||
<?php wp_nav_menu( array('theme_location' => 'main-menu') ); ?>
|
||||
</div>
|
||||
</nav>
|
||||
<?php
|
||||
<?php
|
||||
if(openfest_home_page()){
|
||||
if ($blog_slug === '2019') {
|
||||
echo '<section class="banner cf" style="background: url(\''.get_template_directory_uri().'/img/banner-back-'.$blog_slug.'.jpg\') top repeat-x; background-size:cover; position:relative; padding: 0.2em 0 0 0;height: 400px;"><img src="'.get_template_directory_uri().'/img/banner-'.of_get_lang().'-'. $blog_slug .'.png" alt="" style="position:absolute;top:0;left:50%;margin-left:-550px;height:100%;width:430px" /></section>';
|
||||
#echo '<section class="banner cf" style="background: url(\''.get_template_directory_uri().'/img/banner-back-'.$blog_slug.'.jpg\') top repeat-x;padding: 0.2em 0 0 0;height: 400px;"><img src="'.get_template_directory_uri().'/img/banner-'.of_get_lang().'-'. $blog_slug .'.png" alt="" style="padding-right: 35%; margin-top: -0.2em;;height:400px" /></section>';
|
||||
} else if ($blog_slug === '2021') {
|
||||
//echo '<section class="banner cf" style="background: url(\''.get_template_directory_uri().'/img/banner-back-'.$blog_slug.'.jpg\') top repeat-x; background-size:cover; position:relative; padding: 0.2em 0 0 0;height: 400px;"><img src="'.get_template_directory_uri().'/img/banner-'.of_get_lang().'-'. $blog_slug .'.png" alt="" style="position:absolute;top:0;left:50%;height:100%;width:608px" /></section>';
|
||||
//if (of_get_lang() === 'en') {
|
||||
// echo '<section class="banner cf" style="background: url(\''.get_template_directory_uri().'/img/banner-back-'.$blog_slug.'.jpg\') top repeat-x; background-size:cover; position:relative; padding: 0.2em 0 0 0;height: 400px;"><img src="'.get_template_directory_uri().'/img/banner-'.of_get_lang().'-'. $blog_slug .'.png" alt="" style="position:absolute;top:0;left:50%;height:100%;width:608px" /></section>';
|
||||
//} else {
|
||||
// echo '<section class="banner cf content" style="top: repeat-x; background-size:cover; position:relative; padding: 0.2em 0 0 0;height: 400px; background: none">';
|
||||
// echo '<img src="'.get_template_directory_uri().'/img/banner-back-2021.svg" alt="" style="position:absolute;top:0;right:65%;height:100%;">';
|
||||
// echo '<img src="'.get_template_directory_uri().'/img/banner-bg-2021.svg" alt="" style="position:absolute;top:0;left:50%;height:100%;width:608px">';
|
||||
// echo '</section>';
|
||||
//}
|
||||
|
||||
echo '<section class="banner cf content" style="top: repeat-x; background-size:cover; position:relative; padding: 0.2em 0 0 0;height: 400px; background: none">';
|
||||
echo '<img src="'.get_template_directory_uri().'/img/banner-back-2021.svg" alt="" style="position:absolute;top:0;right:65%;height:100%;">';
|
||||
if (of_get_lang() === 'bg') {
|
||||
echo '<img src="'.get_template_directory_uri().'/img/banner-bg-2021.svg" alt="" style="position:absolute;top:0;left:50%;height:100%;width:608px">';
|
||||
} else {
|
||||
echo '<img src="'.get_template_directory_uri().'/img/banner-en-2021.png" alt="" style="position:absolute;top:0;left:50%;height:100%;width:608px">';
|
||||
}
|
||||
echo '</section>';
|
||||
|
||||
|
||||
} else if ($blog_slug === '2023') {
|
||||
echo '<section class="banner cf" style="background: url('.get_template_directory_uri().'/img/banner-back-2023.png) top center no-repeat;padding: 0.2em 0 0 0;height: 258px;"><img src="'.get_template_directory_uri().'/img/banner-'.of_get_lang().'-2023.png" alt="" style="margin-left: calc(40vw - 428px);" /></section>';
|
||||
|
||||
} else if ($blog_slug === '2024') {
|
||||
echo '<section class="banner cf" style="background: url('.get_template_directory_uri().'/img/banner-back-2024.png) top center no-repeat;padding: 0.2em 0 0 0;height: 258px;"></section>';
|
||||
|
||||
} else {
|
||||
echo '<section class="banner cf" style="background: url(\''.get_template_directory_uri().'/img/banner-back-'.$blog_slug.'.jpg\') top repeat-x;padding: 0.2em 0 0 0;height: 258px;"><img src="'.get_template_directory_uri().'/img/banner-'.of_get_lang().'-'. $blog_slug .'.png" alt="" /></section>';
|
||||
}
|
||||
$blog_details = get_blog_details();
|
||||
$blog_slug = str_replace('/', '', $blog_details->path);
|
||||
echo '<section class="banner cf"><img src="'.get_template_directory_uri().'/img/banner-'.of_get_lang().'-'. $blog_slug .'.png" alt="" /></section>';
|
||||
}
|
||||
?>
|
||||
|
|
Before Width: | Height: | Size: 192 KiB |
Before Width: | Height: | Size: 192 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 172 KiB |
Before Width: | Height: | Size: 178 KiB |
Before Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 19 KiB |
|
@ -1,75 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Creator: CorelDRAW X7 -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="1920px" height="1920px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
|
||||
viewBox="0 0 192000 192000"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.fil0 {fill:none}
|
||||
.fil2 {fill:white}
|
||||
.fil1 {fill:#1EAC7D;fill-rule:nonzero}
|
||||
.fil4 {fill:#9CDBC6;fill-rule:nonzero}
|
||||
.fil3 {fill:#FFCC00;fill-rule:nonzero}
|
||||
]]>
|
||||
</style>
|
||||
</defs>
|
||||
<g id="Layer_x0020_1">
|
||||
<metadata id="CorelCorpID_0Corel-Layer"/>
|
||||
<g id="_1658993452192">
|
||||
<rect class="fil0" width="192000" height="192000"/>
|
||||
<g>
|
||||
<circle class="fil0" cx="96000" cy="96000" r="6060"/>
|
||||
<g>
|
||||
<circle class="fil1" transform="matrix(-1.38902 1.38902 -1.38902 -1.38902 96000 96000)" r="35942"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="fil2" d="M132004 136375c-751,450 -1540,809 -2349,1078 -1022,339 -2071,532 -3111,575 -550,23 -1105,4 -1661,-58 -418,-46 -829,-116 -1232,-209 -46,62 -93,125 -142,186 -132,168 -272,326 -421,475 -516,516 -1114,907 -1754,1172 -667,276 -1373,414 -2076,414 -703,0 -1410,-138 -2076,-414 -640,-265 -1238,-656 -1754,-1172 -516,-516 -907,-1114 -1172,-1754 -276,-666 -414,-1373 -414,-2076 0,-497 69,-997 209,-1487 88,-309 203,-611 346,-902 -99,-69 -198,-142 -296,-218l-13 -11c-238,-185 -457,-378 -657,-577 -944,-944 -1578,-2097 -1918,-3377 -348,-1308 -384,-2748 -124,-4227 242,-1376 744,-2789 1491,-4156 718,-1313 1661,-2585 2815,-3739 1154,-1153 2425,-2096 3739,-2814 1366,-747 2780,-1249 4155,-1491 1479,-260 2919,-224 4228,123 1279,340 2432,975 3376,1919 202,202 392,417 569,643 64,82 127,166 188,251 323,-181 660,-326 1006,-435 532,-168 1084,-252 1636,-252 703,0 1409,138 2076,414 640,265 1238,656 1754,1172 516,516 907,1114 1172,1754 276,666 414,1373 414,2076 0,703 -138,1409 -414,2076 -265,640 -656,1238 -1172,1754 -183,183 -381,353 -590,510 -94,70 -189,137 -287,200 98,410 171,827 219,1248 64,562 85,1131 61,1701 -36,844 -148,1623 -346,2384 -196,752 -476,1480 -846,2229l1 0c-349,762 -512,1537 -492,2258 20,704 213,1357 578,1892 169,247 106,584 -142,754 -87,59 -185,90 -283,94 -719,30 -1309,-55 -1789,-233 -171,-64 -328,-139 -471,-224 -8,52 -15,104 -22,157 -49,365 -71,750 -71,1168 1,300 -241,543 -541,544 -157,0 -299,-66 -398,-173 -325,-321 -587,-621 -793,-909 -76,-105 -144,-210 -206,-313zm-2692 51c901,-299 1780,-727 2608,-1284l0 1c35,-23 73,-43 114,-58 280,-104 592,38 696,318 53,141 124,286 217,438 56,-391 137,-763 247,-1130l1 1c35,-117 109,-222 218,-295 249,-166 585,-99 751,150 154,232 389,420 721,543 141,52 300,93 477,122 -187,-494 -288,-1027 -304,-1581 -25,-890 170,-1832 588,-2744l2 1 7 -16c342,-689 598,-1353 775,-2035 177,-678 278,-1383 310,-2155 22,-514 4,-1027 -54,-1533 -58,-500 -155,-995 -291,-1481 -67,-238 36,-499 263,-623 179,-97 354,-209 523,-335 161,-121 319,-258 472,-411 417,-417 731,-895 941,-1403 218,-526 327,-1091 327,-1658 0,-568 -109,-1132 -327,-1658 -210,-508 -524,-986 -941,-1403 -417,-417 -895,-731 -1403,-941 -526,-218 -1090,-327 -1658,-327 -442,0 -884,67 -1309,201 -415,132 -814,326 -1180,584l0 0 -33 21c-256,155 -590,73 -745,-183 -124,-205 -263,-406 -416,-602 -148,-188 -310,-371 -485,-546 -806,-806 -1792,-1348 -2887,-1639 -1157,-308 -2437,-338 -3759,-106 -1258,222 -2559,685 -3824,1377 -1220,667 -2407,1548 -3490,2631 -1084,1084 -1965,2270 -2632,3490 -692,1266 -1155,2567 -1376,3825 -233,1321 -202,2602 105,3759 291,1095 833,2081 1639,2887 184,184 369,348 553,491l12 10c192,149 403,291 630,426l9 6c254,159 332,493 174,748 -216,347 -377,715 -485,1093 -109,384 -164,785 -164,1190 0,568 109,1132 327,1658 210,508 524,986 941,1403 417,417 895,731 1403,941 526,218 1090,327 1658,327 567,0 1132,-109 1658,-327 508,-210 986,-524 1403,-941 125,-125 238,-252 340,-381 104,-131 200,-270 290,-416l1 1c123,-200 368,-304 606,-238 477,130 961,222 1447,276 486,54 987,70 1496,49 946,-40 1894,-213 2813,-518z"/>
|
||||
<path class="fil2" d="M127388 132996c-1735,1735 -4549,1735 -6285,0 -726,-726 -1148,-1640 -1266,-2586 -1654,155 -3145,-246 -4159,-1260 -1144,-1144 -1509,-2897 -1173,-4805 364,-2072 1539,-4302 3436,-6200 1898,-1898 4129,-3072 6201,-3436 1908,-336 3660,28 4804,1173 1012,1011 1414,2499 1262,4149 948,117 1865,540 2592,1267 1736,1736 1736,4550 0,6285 -1152,1152 -2779,1539 -4250,1162 377,1472 -10,3099 -1162,4251zm-7993 -10743c-277,415 -839,527 -1255,250 -416,-278 -528,-840 -250,-1255 190,-285 409,-578 654,-877 243,-296 488,-568 732,-812 245,-244 516,-489 812,-732 299,-246 592,-464 877,-654 416,-278 978,-166 1255,250 278,415 166,977 -250,1255 -267,179 -512,359 -731,539 -222,182 -450,390 -682,622 -233,233 -441,461 -623,682 -180,220 -360,464 -539,732zm4188 2912c-121,120 -279,180 -437,180 -158,0 -316,-60 -436,-180 -120,-121 -181,-278 -181,-436l0 -1c0,-158 61,-316 181,-436 120,-121 278,-181 436,-181 158,0 316,60 437,181 120,120 180,278 180,436l0 1c0,158 -60,316 -180,436zm1425 -1426c-120,121 -278,181 -436,181l-1 0c-158,0 -316,-60 -436,-181 -120,-120 -180,-278 -180,-436l0 0c0,-158 60,-316 180,-436 120,-121 278,-181 436,-181l1 0c158,0 316,60 436,181 120,120 180,278 180,436l0 0c0,158 -60,316 -180,436zm582 7459c-289,289 -701,400 -1134,346 -433,-53 -886,-272 -1258,-643 -371,-372 -590,-825 -644,-1258 -53,-433 58,-845 347,-1134 289,-290 702,-401 1135,-347 433,53 886,272 1257,644 371,371 590,824 644,1257 54,433 -58,845 -347,1135zm5412 -5413c-289,290 -701,401 -1134,347 -433,-54 -886,-272 -1258,-644 -371,-371 -590,-824 -643,-1257 -54,-433 57,-845 346,-1135 290,-289 702,-400 1135,-347 433,54 886,273 1257,644 372,372 591,825 644,1258 54,433 -57,845 -347,1134zm-11744 11046c573,0 1146,-218 1583,-656 33,-33 65,-66 95,-101 -620,-380 -1204,-837 -1738,-1371 -335,-335 -651,-708 -947,-1115 -147,-201 -284,-406 -412,-614 -37,-5 -74,-11 -111,-17 -18,17 -36,34 -53,52 -438,437 -656,1010 -656,1583 0,573 218,1146 656,1583 437,438 1010,656 1583,656zm16594 -15722c-377,-609 -827,-1182 -1353,-1708 -335,-335 -708,-651 -1114,-947 -202,-146 -407,-284 -614,-412 -4,-24 -8,-48 -11,-71 73,-104 156,-203 249,-296 437,-438 1010,-656 1583,-656 573,0 1146,218 1583,656 438,437 656,1010 656,1583 0,573 -218,1146 -656,1583 -101,101 -209,191 -323,268z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="fil2" d="M150008 99091c-213,849 -516,1661 -899,2423 -482,963 -1088,1840 -1793,2607 -373,405 -775,781 -1202,1124 -320,258 -657,497 -1008,716 14,80 25,160 35,239 25,213 38,428 38,643 0,730 -147,1429 -412,2069 -276,666 -678,1264 -1175,1761 -980,980 -2334,1586 -3830,1586 -730,0 -1429,-146 -2069,-411 -666,-276 -1263,-678 -1760,-1175 -352,-352 -658,-757 -906,-1203 -156,-281 -288,-576 -393,-884 -124,22 -250,42 -376,58 -309,39 -610,59 -903,59 -1335,0 -2599,-366 -3744,-1030 -1171,-680 -2215,-1673 -3077,-2903 -801,-1143 -1446,-2498 -1884,-3992 -421,-1437 -653,-3002 -653,-4634 0,-1632 232,-3197 653,-4634 438,-1494 1083,-2849 1884,-3992 862,-1230 1906,-2223 3077,-2903 1145,-664 2409,-1030 3744,-1030 293,0 584,18 873,53 107,14 214,30 322,48 100,-355 235,-696 402,-1018 260,-499 591,-951 981,-1341 497,-497 1094,-899 1760,-1175 640,-265 1339,-411 2069,-411 731,0 1430,146 2070,411 666,276 1263,678 1760,1175 497,497 899,1095 1175,1761 265,640 412,1339 412,2069 0,262 -20,524 -58,785 -17,120 -38,238 -63,355 358,221 699,461 1023,719 439,350 852,735 1235,1151 573,623 1044,1253 1441,1931 397,675 715,1392 984,2191 291,776 722,1433 1244,1926 512,484 1110,809 1746,929 294,56 488,339 433,633 -19,104 -67,195 -134,268 -487,529 -965,886 -1429,1099 -166,77 -330,134 -492,175 31,42 63,85 95,127 224,292 480,581 776,876 213,211 214,555 3,767 -111,111 -259,165 -404,159 -457,4 -855,-24 -1204,-81 -128,-21 -250,-47 -367,-76zm-1867 1939c425,-848 744,-1773 936,-2751l1 0c8,-41 21,-82 39,-121 124,-272 446,-392 718,-268 136,63 289,115 462,156 -237,-316 -443,-637 -625,-973l1 -1c-57,-107 -79,-234 -54,-362 59,-294 344,-484 637,-425 274,55 572,22 894,-126 137,-63 278,-146 424,-251 -481,-217 -929,-522 -1332,-902 -640,-605 -1165,-1402 -1515,-2336l-14 -37c-246,-730 -534,-1380 -890,-1987 -355,-605 -782,-1174 -1306,-1744 -345,-375 -716,-722 -1111,-1036 -385,-307 -787,-581 -1202,-818 -242,-111 -371,-386 -293,-648 60,-200 106,-404 136,-611 29,-202 44,-413 44,-632 0,-590 -116,-1149 -326,-1657 -218,-526 -540,-1002 -941,-1404 -402,-401 -878,-723 -1404,-941 -508,-211 -1068,-327 -1658,-327 -589,0 -1149,116 -1657,327 -526,218 -1002,540 -1403,941 -316,315 -581,676 -785,1069 -201,387 -345,808 -421,1253l-1 0 -8 38c-71,291 -365,469 -656,397 -237,-59 -483,-104 -735,-136 -243,-30 -490,-45 -741,-45 -1140,0 -2220,314 -3200,882 -1036,601 -1963,1485 -2733,2584 -733,1046 -1325,2294 -1731,3678 -391,1334 -607,2796 -607,4328 0,1532 216,2994 607,4328 406,1384 998,2632 1731,3678 770,1099 1697,1983 2733,2584 980,568 2060,882 3200,882 269,0 525,-16 767,-47 245,-31 490,-78 733,-140l40 -10c292,-67 583,115 649,407 92,397 239,772 430,1118 195,350 440,673 728,960 401,401 877,723 1403,941 508,211 1068,327 1657,327 1196,0 2278,-485 3062,-1268 401,-401 723,-878 941,-1404 210,-508 326,-1067 326,-1657 0,-178 -10,-350 -29,-516 -22,-179 -52,-347 -90,-505 -54,-228 44,-474 257,-597 418,-240 821,-516 1205,-825 384,-308 746,-647 1083,-1014 641,-697 1190,-1490 1624,-2356z"/>
|
||||
<path class="fil2" d="M144355 99965c0,2454 -1990,4444 -4445,4444 -1026,0 -1971,-348 -2723,-932 -1060,1279 -2398,2049 -3832,2049 -1618,0 -3115,-981 -4227,-2568 -1207,-1723 -1954,-4130 -1954,-6814 0,-2684 747,-5091 1954,-6814 1112,-1587 2609,-2568 4227,-2568 1431,0 2767,767 3826,2042 753,-587 1700,-937 2729,-937 2455,0 4445,1989 4445,4444 0,1629 -877,3053 -2184,3827 1307,774 2184,2198 2184,3827zm-9146 -4862c0,170 -70,324 -181,436l-1 0c-112,112 -266,181 -436,181 -170,0 -324,-69 -436,-181l0 0c-112,-112 -181,-266 -181,-436 0,-170 69,-324 181,-436l0 0c112,-112 266,-181 436,-181 170,0 324,69 436,181l1 0c111,112 181,266 181,436zm6603 -2792c0,409 -213,779 -557,1047 -344,269 -819,434 -1345,434 -525,0 -1000,-165 -1344,-434 -344,-268 -557,-638 -557,-1047 0,-409 213,-779 557,-1047 344,-269 819,-434 1344,-434 526,0 1001,165 1345,434 344,268 557,638 557,1047zm0 7654c0,409 -213,779 -557,1048 -344,268 -819,433 -1345,433 -525,0 -1000,-165 -1344,-433 -344,-269 -557,-639 -557,-1048 0,-409 213,-779 557,-1047 344,-269 819,-434 1344,-434 526,0 1001,165 1345,434 344,268 557,638 557,1047zm-11032 -3335c217,450 29,990 -421,1206 -449,217 -989,29 -1205,-420 -96,-198 -168,-396 -214,-592 -50,-207 -74,-415 -74,-624 0,-209 24,-417 74,-624 46,-196 118,-394 214,-592 216,-449 756,-637 1205,-420 450,216 638,756 421,1206 -34,70 -61,145 -79,224 -17,68 -25,137 -25,206 0,69 8,138 25,206 18,79 45,154 79,224zm4429 489c0,170 -70,324 -181,436 -112,112 -266,181 -437,181 -170,0 -324,-69 -436,-181l0 0c-112,-112 -181,-266 -181,-436 0,-171 69,-325 181,-437 112,-111 266,-181 436,-181 170,0 324,70 436,181l1 1c111,112 181,266 181,436zm6137 11307c405,-405 656,-965 656,-1583 0,-49 -2,-97 -5,-145 -716,174 -1461,266 -2227,266 -473,0 -961,-41 -1458,-119 -246,-38 -488,-86 -725,-142 -20,15 -41,30 -62,45 -1,31 -2,63 -2,95 0,618 251,1178 656,1583 405,405 965,656 1583,656 619,0 1179,-251 1584,-656zm615 -22844c27,-138 41,-280 41,-425 0,-618 -251,-1178 -656,-1583 -405,-405 -965,-656 -1584,-656 -618,0 -1178,251 -1583,656 -405,405 -656,965 -656,1583 0,140 13,276 38,409l26 19c237,-56 479,-104 725,-142 497,-78 985,-119 1458,-119 753,0 1486,89 2191,258z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="fil2" d="M41992 92909c213,-849 516,-1661 899,-2423 482,-963 1088,-1840 1793,-2607 555,-604 1174,-1142 1844,-1602 548,-376 1134,-700 1752,-966 -2,-58 -3,-109 -3,-154 0,-730 146,-1429 411,-2069 276,-666 678,-1264 1175,-1761 498,-497 1095,-899 1761,-1175 640,-265 1339,-411 2069,-411 730,0 1430,146 2070,411 666,276 1263,678 1760,1175 324,324 608,693 846,1099 162,276 300,568 411,872 1285,24 2503,388 3609,1029 1171,680 2215,1673 3077,2903 801,1143 1446,2498 1884,3992 421,1437 654,3002 654,4634 0,1632 -233,3197 -654,4634 -438,1494 -1083,2849 -1884,3992 -862,1230 -1906,2223 -3077,2903 -1078,625 -2262,987 -3512,1027 -107,356 -251,697 -427,1019 -252,461 -565,880 -927,1242 -497,497 -1094,899 -1760,1175 -640,265 -1340,411 -2070,411 -730,0 -1429,-146 -2069,-411 -666,-276 -1263,-678 -1761,-1175 -497,-497 -899,-1094 -1175,-1761 -265,-640 -411,-1339 -411,-2069 0,-142 6,-287 18,-434 -615,-264 -1200,-587 -1751,-963 -676,-462 -1300,-1004 -1860,-1613 -572,-622 -1043,-1252 -1441,-1930 -393,-671 -710,-1383 -978,-2174l-1 0c-292,-785 -724,-1448 -1249,-1944 -512,-484 -1110,-809 -1746,-929 -294,-56 -488,-339 -433,-633 19,-104 67,-195 134,-268 487,-529 965,-886 1429,-1099 166,-77 330,-135 492,-175 -31,-43 -63,-85 -95,-127 -224,-292 -480,-581 -776,-876 -213,-211 -214,-555 -2,-767 110,-111 258,-164 403,-159 457,-4 855,24 1204,81 128,21 250,47 367,76zm1867 -1939c-425,848 -744,1773 -936,2751l-1 0c-8,41 -21,82 -39,121 -124,272 -446,392 -718,268 -136,-63 -289,-115 -462,-156 237,315 443,636 624,973l-1 0c58,107 80,234 54,363 -58,293 -344,483 -637,425 -273,-56 -571,-22 -893,126 -137,63 -278,146 -424,251 481,217 930,522 1333,903 646,611 1175,1416 1524,2356l-1 1 5 16c246,729 535,1380 891,1987 355,605 781,1174 1305,1743 505,549 1066,1037 1673,1452 598,409 1241,747 1918,1004 236,89 385,334 344,593 -16,104 -30,219 -40,346 -9,112 -14,228 -14,350 0,590 117,1149 327,1657 218,526 540,1002 941,1404 402,401 878,723 1404,941 508,211 1068,327 1657,327 590,0 1150,-116 1658,-327 526,-218 1002,-540 1403,-941 296,-296 547,-629 745,-991 194,-356 340,-745 428,-1157l1 1c53,-251 279,-437 545,-430l85 3c69,0 -59,-2 87,-2 1140,0 2221,-314 3200,-882 1036,-601 1963,-1485 2733,-2584 733,-1046 1325,-2294 1731,-3678 391,-1334 607,-2796 607,-4328 0,-1532 -216,-2994 -607,-4328 -406,-1384 -998,-2632 -1731,-3678 -770,-1099 -1697,-1983 -2733,-2584 -979,-568 -2060,-882 -3200,-882 -106,0 -89,-1 -118,-1l-106 3c-251,16 -487,-145 -556,-396 -101,-361 -246,-702 -431,-1016 -185,-317 -414,-612 -680,-878 -401,-401 -877,-723 -1403,-941 -508,-211 -1068,-327 -1658,-327 -589,0 -1149,116 -1657,327 -526,218 -1002,540 -1404,941 -401,401 -723,878 -941,1404 -210,508 -327,1067 -327,1657 0,95 2,170 5,227 4,75 9,150 17,225l-1 0c25,237 -111,471 -345,560 -667,257 -1304,595 -1901,1005 -600,412 -1156,895 -1656,1440 -641,697 -1190,1490 -1624,2356z"/>
|
||||
<path class="fil2" d="M47645 92035c0,-2454 1990,-4444 4445,-4444 1026,0 1971,348 2723,932 1060,-1279 2398,-2049 3832,-2049 1618,0 3115,981 4227,2568 1207,1723 1954,4130 1954,6814 0,2684 -747,5091 -1954,6814 -1112,1587 -2609,2568 -4227,2568 -1431,0 -2767,-767 -3826,-2042 -753,587 -1700,937 -2729,937 -2455,0 -4445,-1989 -4445,-4444 0,-1629 877,-3053 2185,-3827 -1308,-774 -2185,-2198 -2185,-3827zm3154 0c0,-525 138,-1000 362,-1344 223,-345 532,-557 873,-557 340,0 649,212 873,557 223,344 361,819 361,1344 0,525 -138,1000 -361,1344 -224,345 -533,557 -873,557 -341,0 -650,-212 -873,-557 -224,-344 -362,-819 -362,-1344zm8174 -205c141,-478 643,-752 1121,-611 479,140 752,642 612,1121 -157,533 -276,1090 -356,1661 -79,564 -120,1152 -120,1753 0,665 49,1310 143,1921 96,617 240,1223 431,1806 154,475 -106,985 -580,1139 -475,154 -985,-106 -1139,-580 -216,-659 -382,-1361 -494,-2089 -113,-733 -171,-1470 -171,-2197 0,-665 47,-1336 140,-2001 93,-659 231,-1303 413,-1923zm-4807 3051c0,-170 69,-324 181,-436 111,-112 266,-181 436,-181 170,0 324,69 436,181l1 0c111,112 180,266 180,436 0,171 -69,325 -180,437 -112,112 -266,181 -437,181 -170,0 -324,-69 -436,-181l0 -1c-112,-112 -181,-266 -181,-436zm0 2016c0,-170 69,-324 181,-436l0 0c112,-112 266,-181 436,-181 170,0 324,69 436,181l1 0c111,112 180,266 180,436 0,170 -69,324 -180,436l-1 0c-112,112 -266,181 -436,181 -170,0 -324,-69 -436,-181l0 0c-112,-112 -181,-266 -181,-436zm-3367 2792c0,-525 138,-1000 362,-1344 223,-345 532,-557 873,-557 340,0 649,212 873,557 223,344 361,819 361,1344 0,525 -138,1000 -361,1345 -224,344 -533,556 -873,556 -341,0 -650,-212 -873,-556 -224,-345 -362,-820 -362,-1345zm1311 -16115c-386,385 -631,911 -654,1494 255,-21 513,-32 774,-32 474,0 961,41 1458,119 246,38 488,86 725,143 446,-330 917,-609 1410,-833 -110,-340 -300,-644 -546,-891 -405,-405 -965,-656 -1584,-656 -618,0 -1178,251 -1583,656zm-647 23071c-6,65 -9,131 -9,198 0,618 251,1178 656,1583 405,405 965,656 1583,656 619,0 1179,-251 1584,-656 307,-307 526,-704 613,-1149 -518,-229 -1011,-518 -1477,-862 -237,56 -479,104 -725,142 -497,78 -984,119 -1458,119 -258,0 -514,-11 -767,-31z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="fil2" d="M99091 41992c849,213 1661,516 2423,899 963,482 1840,1088 2607,1793 405,373 781,775 1124,1202 258,320 497,657 716,1008 80,-14 160,-25 239,-34 213,-26 428,-39 643,-39 730,0 1429,147 2069,412 666,276 1264,678 1761,1175 497,497 899,1094 1175,1760 265,640 411,1339 411,2070 0,730 -146,1429 -411,2069 -276,666 -678,1263 -1175,1760 -352,352 -757,658 -1203,906 -281,156 -576,288 -884,393 22,124 42,250 58,376 39,309 59,610 59,903 0,1335 -366,2599 -1030,3744 -680,1171 -1673,2215 -2903,3077 -1143,801 -2498,1446 -3992,1884 -1437,421 -3002,654 -4634,654 -1632,0 -3197,-233 -4634,-654 -1494,-438 -2849,-1083 -3992,-1884 -1230,-862 -2223,-1906 -2903,-3077 -664,-1145 -1030,-2409 -1030,-3744 0,-293 18,-584 54,-873 13,-107 29,-214 47,-321 -355,-101 -696,-236 -1018,-403 -499,-259 -951,-591 -1341,-981 -497,-497 -899,-1094 -1175,-1760 -265,-640 -411,-1339 -411,-2069 0,-731 146,-1430 411,-2070 276,-666 678,-1263 1175,-1760 497,-497 1094,-899 1761,-1175 640,-265 1339,-412 2069,-412 262,0 524,20 785,58 120,17 238,38 355,63 221,-358 461,-699 719,-1023 350,-439 735,-852 1151,-1235 623,-573 1253,-1044 1931,-1441 675,-396 1392,-715 2191,-984 776,-291 1433,-722 1927,-1244 483,-512 808,-1110 929,-1746 55,-294 338,-488 632,-433 104,19 196,67 268,134 530,487 886,965 1099,1429 77,167 134,331 175,492 43,-31 85,-62 127,-95 292,-224 581,-480 876,-776 211,-213 555,-214 767,-2 111,110 165,258 159,403 4,457 -24,855 -81,1204 -21,128 -47,250 -76,367zm1939 1867c-848,-425 -1773,-744 -2751,-936l0 -1c-41,-8 -82,-21 -121,-39 -272,-124 -392,-446 -268,-718 63,-136 115,-289 156,-462 -316,237 -637,443 -973,625l-1 -1c-107,57 -234,79 -363,54 -293,-59 -483,-344 -424,-637 55,-274 22,-572 -126,-894 -63,-137 -146,-278 -251,-424 -217,481 -522,929 -902,1332 -605,640 -1402,1165 -2336,1515l-37 14c-730,246 -1380,534 -1987,890 -605,355 -1174,782 -1744,1306 -375,345 -722,716 -1036,1111 -307,385 -581,787 -818,1202 -111,242 -386,371 -648,293 -200,-60 -404,-106 -611,-136 -202,-29 -413,-44 -632,-44 -590,0 -1149,116 -1657,326 -526,218 -1002,540 -1404,942 -401,401 -723,877 -941,1403 -211,508 -327,1068 -327,1658 0,589 116,1149 327,1657 218,526 540,1002 941,1404 315,315 676,580 1069,784 387,201 808,345 1253,421l0 1 38 8c291,71 469,365 397,656 -59,237 -104,483 -136,735 -30,243 -45,490 -45,741 0,1140 314,2220 882,3200 601,1036 1485,1963 2584,2733 1046,733 2294,1325 3678,1731 1334,391 2796,607 4328,607 1532,0 2994,-216 4328,-607 1384,-406 2632,-998 3678,-1731 1099,-770 1983,-1697 2584,-2733 568,-980 882,-2060 882,-3200 0,-269 -16,-525 -47,-767 -31,-245 -78,-490 -140,-733l-11 -39c-66,-293 116,-584 408,-650 397,-92 772,-239 1118,-430 350,-195 673,-440 960,-727 401,-402 723,-878 941,-1404 211,-508 327,-1068 327,-1657 0,-590 -116,-1150 -327,-1658 -218,-526 -540,-1002 -941,-1403 -401,-402 -878,-724 -1404,-942 -508,-210 -1067,-326 -1657,-326 -178,0 -350,10 -516,29 -179,22 -347,52 -505,90 -228,55 -474,-44 -597,-257 -240,-418 -516,-821 -825,-1205 -308,-384 -647,-746 -1014,-1083 -697,-641 -1490,-1190 -2356,-1624z"/>
|
||||
<path class="fil2" d="M99965 50188c525,0 1000,213 1344,557 345,344 557,820 557,1345 0,525 -212,1000 -557,1344 -344,344 -819,557 -1344,557 -525,0 -1000,-213 -1344,-557 -345,-344 -557,-819 -557,-1344 0,-525 212,-1001 557,-1345 344,-344 819,-557 1344,-557zm0 -2543c2455,0 4444,1990 4444,4445 0,1026 -348,1971 -932,2723 871,722 1506,1573 1822,2495 -1117,689 -2354,1245 -3669,1655 -1726,538 -3585,821 -5486,821 -1750,0 -3468,-241 -5082,-701 -1468,-419 -2844,-1016 -4074,-1774 316,-920 948,-1769 1816,-2490 -587,-753 -937,-1700 -937,-2729 0,-2455 1989,-4445 4444,-4445 1629,0 3053,877 3827,2184 774,-1307 2198,-2184 3827,-2184zm5508 11649c-223,1367 -1143,2616 -2515,3578 -1723,1207 -4130,1954 -6814,1954 -2684,0 -5091,-747 -6814,-1954 -1373,-962 -2292,-2212 -2515,-3579 1170,639 2432,1153 3752,1529 1776,507 3663,773 5577,773 2077,0 4120,-313 6023,-907 1161,-361 2271,-829 3306,-1394zm-8354 -5044c170,0 324,69 436,181 112,111 181,266 181,436 0,170 -69,324 -181,436l0 1c-112,111 -266,180 -436,180 -171,0 -325,-69 -437,-180 -111,-112 -181,-266 -181,-437 0,-170 70,-324 181,-436l1 0c112,-112 266,-181 436,-181zm-2016 0c170,0 324,69 436,181l0 0c112,112 181,266 181,436 0,170 -69,324 -181,436l0 1c-112,111 -266,180 -436,180 -170,0 -324,-69 -436,-180l0 -1c-112,-112 -181,-266 -181,-436 0,-170 69,-324 181,-436l0 0c112,-112 266,-181 436,-181zm-2792 -4062c525,0 1000,213 1344,557 345,344 557,820 557,1345 0,525 -212,1000 -557,1344 -344,344 -819,557 -1344,557 -525,0 -1000,-213 -1345,-557 -344,-344 -556,-819 -556,-1344 0,-525 212,-1001 556,-1345 345,-344 820,-557 1345,-557zm-6729 -149c-138,-27 -280,-41 -425,-41 -618,0 -1178,251 -1583,656 -405,405 -656,965 -656,1584 0,618 251,1178 656,1583 405,405 965,656 1583,656 140,0 276,-13 409,-38l19 -26c-56,-237 -104,-479 -142,-725 -78,-497 -119,-985 -119,-1458 0,-753 89,-1486 258,-2191zm22844 615c-405,-405 -965,-656 -1583,-656 -49,0 -97,2 -145,5 174,716 266,1461 266,2227 0,473 -41,961 -119,1458 -38,246 -86,488 -142,725 15,21 30,41 45,62 31,1 63,2 95,2 618,0 1178,-251 1583,-656 405,-405 656,-965 656,-1583 0,-619 -251,-1179 -656,-1584z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="fil2" d="M136084 59673c456,747 822,1532 1097,2340 347,1019 548,2066 600,3106 27,545 14,1090 -40,1631 -40,406 -104,809 -191,1206 69,48 136,97 201,148 172,132 336,275 491,428 520,512 916,1107 1186,1745 282,664 425,1369 431,2072 6,703 -127,1410 -397,2079 -260,642 -646,1243 -1158,1764 -512,520 -1107,916 -1745,1186 -664,281 -1370,425 -2072,431 -500,4 -1003,-63 -1496,-199 -310,-86 -614,-200 -907,-342 -73,108 -149,214 -228,319l-11 14c-187,246 -384,474 -590,683 -936,952 -2084,1596 -3361,1946 -1305,358 -2745,406 -4226,157 -1378,-230 -2795,-721 -4167,-1457 -1320,-707 -2599,-1640 -3762,-2784 -1163,-1144 -2116,-2408 -2844,-3716 -758,-1361 -1271,-2770 -1524,-4144 -273,-1477 -248,-2917 89,-4228 330,-1282 955,-2440 1891,-3392 201,-204 422,-401 663,-591l-2 -1c89,-70 179,-138 272,-204 -184,-321 -332,-657 -445,-1002 -175,-536 -265,-1090 -269,-1642 -6,-703 127,-1411 397,-2079 260,-642 646,-1243 1158,-1764 512,-520 1107,-916 1745,-1186 664,-281 1369,-425 2072,-431 703,-5 1411,127 2079,397 643,260 1244,646 1764,1159 190,186 365,387 524,598 75,98 145,198 212,299 401,-97 808,-170 1216,-219 553,-66 1112,-90 1673,-71 864,30 1656,142 2419,336 752,192 1473,465 2203,819l0 -1c765,343 1541,500 2262,473 704,-25 1355,-224 1887,-592 246,-171 584,-111 755,135 60,87 92,185 96,283 37,718 -44,1309 -218,1790 -62,172 -136,329 -220,473 52,8 104,15 157,21 365,46 750,65 1169,61 299,-3 544,237 548,537 1,157 -64,299 -170,399 -318,328 -616,593 -903,801 -104,77 -208,146 -311,209zm73 2690c-307,-898 -742,-1773 -1305,-2596l1 -1c-23,-34 -43,-72 -59,-113 -107,-279 33,-592 313,-699 140,-54 284,-126 435,-221 -391,-52 -764,-130 -1131,-237l0 -1c-117,-34 -223,-107 -296,-216 -168,-247 -104,-584 144,-752 231,-156 416,-392 537,-725 51,-142 91,-301 118,-479 -492,191 -1025,297 -1579,317 -889,33 -1833,-155 -2748,-566l0 -1 -15 -8c-667,-324 -1326,-574 -2014,-749 -684,-175 -1400,-276 -2185,-302 -505,-17 -1008,4 -1504,64 -483,58 -957,151 -1419,280 -248,91 -532,-11 -663,-250 -102,-186 -216,-364 -343,-532 -125,-165 -266,-326 -422,-479 -420,-414 -900,-724 -1410,-930 -528,-214 -1093,-318 -1661,-314 -567,5 -1131,119 -1655,341 -507,214 -982,532 -1396,952 -413,420 -723,901 -929,1410 -214,528 -318,1093 -314,1661 4,447 75,890 213,1312 134,411 330,804 589,1166 12,16 24,33 34,50 156,256 76,590 -180,746 -215,131 -424,275 -624,433l-1 -1c-188,148 -375,316 -562,506 -799,812 -1333,1803 -1616,2900 -298,1159 -318,2440 -75,3760 232,1256 706,2553 1408,3813 676,1215 1567,2394 2659,3469 1092,1074 2286,1946 3511,2603 1271,682 2576,1135 3835,1346 1324,222 2604,181 3759,-136 1092,-300 2074,-850 2873,-1662 187,-190 355,-383 502,-577l9 -12c156,-205 299,-423 430,-651l12 -20c157,-255 491,-334 746,-177 349,214 720,374 1101,480 387,108 791,160 1198,156 567,-4 1131,-118 1655,-340 507,-214 982,-532 1396,-952 413,-421 723,-901 929,-1410 214,-528 318,-1094 314,-1661 -5,-568 -118,-1132 -340,-1656 -215,-506 -532,-981 -953,-1395 -128,-126 -260,-241 -394,-345 -136,-105 -273,-199 -408,-281 -215,-115 -332,-366 -268,-613 120,-467 205,-944 253,-1426 48,-484 60,-975 35,-1469 -47,-946 -228,-1893 -540,-2810z"/>
|
||||
<path class="fil2" d="M132742 64315c1749,1722 1772,4536 50,6285 -719,732 -1630,1161 -2574,1287 168,1653 -222,3147 -1227,4169 -1135,1153 -2885,1532 -4795,1212 -2075,-348 -4315,-1505 -6228,-3387 -1913,-1882 -3105,-4103 -3486,-6172 -351,-1906 -1,-3661 1134,-4814 1004,-1020 2488,-1434 4139,-1295 110,-949 525,-1869 1246,-2603 1722,-1749 4536,-1772 6285,-50 1161,1142 1562,2766 1196,4241 1469,-389 3099,-15 4260,1127zm-1784 1813c375,368 564,853 568,1340 4,486 -178,974 -546,1349 -368,374 -853,563 -1340,567 -487,4 -975,-178 -1349,-546 -374,-368 -564,-853 -568,-1340 -3,-486 178,-975 546,-1349 369,-374 854,-564 1340,-567 487,-4 975,177 1349,546zm-8166 2850c569,560 1076,1139 1507,1708 452,597 820,1185 1086,1730 287,588 461,1144 504,1629 55,626 -97,1156 -482,1548 -385,391 -913,551 -1540,506 -486,-35 -1044,-200 -1637,-478 -549,-257 -1143,-615 -1747,-1057 -576,-422 -1163,-920 -1731,-1479 -569,-560 -1076,-1139 -1507,-1708 -452,-597 -820,-1185 -1086,-1729 -287,-589 -461,-1144 -504,-1630 -55,-625 97,-1156 482,-1547 385,-392 913,-552 1540,-507 486,35 1044,200 1637,478 549,257 1143,615 1747,1057 576,422 1163,920 1731,1479zm65 2800c-374,-494 -822,-1005 -1335,-1509 -512,-504 -1030,-945 -1530,-1311 -512,-375 -1003,-673 -1445,-880 -398,-186 -738,-294 -996,-313 -89,-6 -114,-35 -124,-25 -9,10 19,35 27,124 23,257 136,596 329,990 214,439 520,925 903,1431 374,494 823,1005 1335,1509 513,504 1031,945 1530,1311 513,375 1004,673 1446,880 398,186 738,294 995,313 90,6 115,35 124,25 10,-10 -18,-35 -26,-124 -23,-257 -137,-595 -329,-990 -215,-439 -520,-925 -904,-1431zm2635 -4153c121,119 183,277 184,435 1,158 -58,316 -177,438 -120,121 -277,182 -435,184l-1 0c-158,1 -316,-58 -437,-177 -122,-120 -183,-277 -184,-435 -2,-158 57,-317 177,-438 119,-121 276,-183 434,-184l1 0c158,-1 317,58 438,177zm-1437 -1414c121,119 182,277 184,435l0 0c1,159 -58,317 -177,438 -119,121 -277,183 -435,184l0 0c-158,1 -317,-58 -438,-177 -121,-119 -182,-277 -184,-435l0 0c-1,-158 58,-317 177,-438 119,-121 277,-182 435,-184l0 0c159,-1 317,58 438,177zm1448 -5452c374,368 564,853 567,1340 4,487 -177,975 -546,1349 -368,374 -853,564 -1340,568 -486,4 -974,-178 -1348,-546 -375,-369 -564,-854 -568,-1340 -4,-487 178,-975 546,-1349 368,-375 853,-564 1340,-568 486,-4 975,178 1349,546zm11179 11615c-4,-572 -228,-1144 -669,-1577 -36,-36 -73,-71 -112,-103 -380,641 -842,1245 -1386,1798 -332,337 -703,656 -1107,956 -200,148 -404,287 -611,417l-5 40c26,28 53,56 80,83 441,434 1016,648 1589,644 573,-5 1144,-228 1578,-669 434,-441 648,-1016 643,-1589zm-15847 -16456c-81,-117 -173,-228 -279,-332 -440,-434 -1015,-648 -1588,-643 -573,5 -1144,228 -1578,669 -434,441 -648,1015 -643,1588 4,573 228,1144 668,1578 105,103 216,193 333,271 126,-207 261,-412 405,-613 293,-409 606,-785 938,-1122 535,-544 1120,-1008 1744,-1396z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="fil2" d="M55625 132004c-450,-751 -809,-1540 -1078,-2349 -339,-1022 -532,-2071 -575,-3111 -17,-413 -11,-829 19,-1245 20,-281 50,-559 92,-834 -133,-79 -264,-164 -390,-256 -239,-172 -463,-361 -669,-567 -516,-516 -907,-1114 -1172,-1754 -276,-666 -414,-1373 -414,-2076 0,-703 138,-1409 414,-2076 265,-640 655,-1238 1172,-1754 516,-516 1114,-907 1754,-1172 666,-276 1373,-414 2076,-414 541,0 1086,82 1612,246 320,99 633,230 935,391 114,-206 238,-407 373,-602 248,-360 524,-694 829,-1000 944,-944 2097,-1578 3377,-1918 1308,-348 2748,-384 4227,-124 1376,242 2789,744 4156,1491 1314,718 2585,1661 3739,2815 1153,1153 2096,2425 2814,3739 747,1366 1249,2779 1491,4155 260,1479 224,2919 -123,4228 -340,1279 -975,2432 -1919,3376 -298,299 -626,570 -980,816 -181,125 -365,241 -554,349 197,327 356,673 478,1030 197,573 295,1168 295,1758 0,703 -138,1410 -414,2076 -265,640 -656,1238 -1172,1754 -516,517 -1114,907 -1754,1173 -667,276 -1373,414 -2076,413 -703,0 -1410,-138 -2076,-413 -640,-266 -1238,-656 -1754,-1173 -240,-240 -455,-501 -646,-780 -110,-161 -210,-326 -300,-495 -285,45 -572,79 -861,101 -432,33 -866,41 -1298,23 -845,-36 -1624,-148 -2384,-346 -758,-198 -1491,-480 -2246,-854 -754,-343 -1523,-503 -2242,-483 -704,20 -1356,213 -1891,578 -247,169 -584,106 -754,-142 -59,-87 -90,-185 -94,-283 -30,-719 56,-1309 233,-1789 64,-171 139,-328 225,-471 -52,-8 -105,-15 -157,-22 -366,-49 -751,-71 -1169,-71 -299,1 -543,-241 -544,-541 0,-157 66,-299 173,-398 321,-325 621,-587 909,-793 105,-76 210,-144 313,-206zm-51 -2692c299,901 728,1780 1284,2607l-1 1c23,35 43,73 58,114 104,280 -38,592 -318,696 -141,53 -286,124 -438,217 391,56 764,137 1131,247l-1 1c117,35 222,109 295,218 166,249 98,585 -150,751 -233,154 -420,389 -544,721 -52,141 -93,300 -122,477 493,-187 1027,-288 1580,-304 881,-25 1815,167 2723,580l36 16c690,343 1354,599 2035,776 679,177 1383,278 2156,310 393,17 784,10 1169,-19 381,-29 759,-81 1133,-155 249,-57 511,68 618,311 107,246 237,483 390,706 147,217 320,426 519,624 417,417 895,731 1403,941 526,218 1090,327 1658,327 568,0 1132,-109 1658,-327 508,-210 986,-524 1403,-941 417,-417 731,-895 941,-1402 218,-527 327,-1091 327,-1659 0,-480 -77,-956 -232,-1407 -150,-439 -376,-861 -677,-1247 -24,-33 -46,-68 -64,-107 -126,-272 -8,-595 264,-721 341,-157 661,-338 958,-544 289,-201 567,-432 830,-696 806,-806 1349,-1792 1639,-2887 308,-1157 338,-2437 106,-3759 -222,-1258 -685,-2559 -1377,-3825 -667,-1219 -1548,-2406 -2631,-3489 -1084,-1084 -2270,-1965 -3490,-2632 -1266,-692 -2566,-1155 -3825,-1376 -1321,-233 -2602,-202 -3759,105 -1095,291 -2081,833 -2887,1639 -267,267 -502,550 -706,847 -211,306 -394,633 -551,977l-1 0c-13,30 -29,58 -48,86 -171,245 -509,306 -754,135 -362,-250 -756,-439 -1167,-567 -417,-130 -853,-195 -1291,-195 -568,0 -1132,109 -1659,327 -507,211 -985,524 -1402,941 -417,417 -731,895 -941,1403 -218,526 -327,1091 -327,1658 0,568 109,1132 327,1658 210,508 524,986 941,1403 173,173 351,325 533,456 185,134 378,250 576,350 225,100 361,345 313,597 -69,366 -117,733 -143,1101 -27,368 -32,743 -16,1121 40,947 213,1895 518,2814z"/>
|
||||
<g>
|
||||
<path class="fil2" d="M70265 136206l52 -27c18,-9 36,-19 54,-29 21,-10 41,-22 62,-33l-168 89zm321 -174c22,-12 44,-25 67,-38l44 -25c22,-13 43,-26 65,-39l42 -25c23,-14 46,-28 69,-42l35 -22c25,-15 50,-31 75,-47l30 -19c27,-17 54,-35 81,-52l24 -16c27,-18 55,-36 82,-55l25 -16c27,-19 54,-37 81,-56l17 -12c29,-20 58,-41 87,-61l17 -12c29,-21 57,-42 86,-63l18 -14c30,-21 59,-43 89,-65l12 -10c29,-22 59,-45 88,-68l13 -10c30,-23 60,-46 89,-70l8 -6c30,-24 60,-49 91,-74l11 -9c30,-25 59,-50 89,-75l10 -8c30,-26 60,-51 90,-77l7 -7c30,-26 60,-52 89,-79l5 -4c30,-27 61,-55 92,-83l4 -4c30,-28 59,-55 88,-83l11 -9c28,-28 57,-55 86,-83l6 -7c30,-29 60,-58 90,-88 335,-335 651,-708 947,-1114l9 -13c75,59 147,122 216,191 438,437 656,1010 656,1583 0,573 -218,1146 -656,1584 -437,437 -1010,656 -1583,656 -573,0 -1146,-219 -1583,-656 -153,-153 -280,-323 -379,-504 13,-6 26,-13 39,-20l321 -174zm-11582 -8644c-1735,-1735 -1735,-4549 0,-6285 726,-726 1641,-1148 2586,-1266 -155,-1654 246,-3145 1260,-4159 1144,-1144 2897,-1509 4805,-1173 2072,364 4302,1539 6200,3436 1898,1898 3072,4129 3437,6201 335,1908 -29,3660 -1174,4804 -1011,1012 -2499,1414 -4149,1262 -117,948 -540,1865 -1267,2592 -1736,1736 -4550,1736 -6285,0 -1152,-1152 -1539,-2779 -1162,-4250 -1471,377 -3098,-10 -4251,-1162zm5226 -9050c-468,170 -985,-72 -1155,-540 -170,-468 72,-985 540,-1155 1390,-503 2980,-479 4543,2 1518,468 3019,1367 4283,2631 1169,1170 2032,2548 2525,3960 505,1446 623,2932 290,4276 -120,484 -610,780 -1095,660 -485,-120 -780,-611 -660,-1095 247,-998 150,-2127 -241,-3246 -403,-1156 -1120,-2295 -2099,-3274 -1057,-1057 -2296,-1804 -3538,-2187 -1197,-368 -2386,-397 -3393,-32zm-3427 7252c-372,-371 -557,-858 -557,-1344 0,-487 185,-974 557,-1345 371,-371 857,-557 1344,-557 487,0 973,186 1345,557 371,371 556,858 556,1345 0,486 -185,973 -556,1344 -372,371 -858,557 -1345,557 -487,0 -973,-186 -1344,-557zm5412 5412c-371,-371 -557,-857 -557,-1344 0,-487 185,-973 557,-1345 371,-371 858,-556 1344,-556 487,0 974,185 1345,556 371,372 557,858 557,1345 0,487 -186,973 -557,1344 -372,372 -858,557 -1345,557 -486,0 -973,-185 -1344,-557zm897 -4846c-120,-120 -180,-278 -180,-436l0 -1c0,-158 60,-316 180,-436 121,-120 278,-180 437,-180l0 0c158,0 316,60 436,180 121,120 181,278 181,436l0 1c0,158 -60,316 -181,436 -120,120 -278,180 -436,180l0 0c-159,0 -316,-60 -437,-180zm-1425 -1425c-120,-121 -181,-279 -181,-437 0,-158 61,-316 181,-436 121,-120 278,-181 436,-181l1 0c158,0 316,61 436,181 121,120 181,278 181,436 0,158 -60,316 -181,437 -120,120 -278,180 -436,180l-1 0c-158,0 -316,-60 -436,-180zm-11072 -4919c0,573 218,1146 655,1583 86,86 177,163 272,232 442,-880 1027,-1701 1755,-2429 335,-335 708,-651 1115,-947l27 -20 -2 -2c-437,-437 -1010,-656 -1583,-656 -573,0 -1146,219 -1584,656 -437,437 -655,1010 -655,1583z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path class="fil2" d="M59996 55625c751,-450 1540,-809 2349,-1078 1022,-339 2071,-532 3112,-575 439,-19 879,-11 1317,24 304,24 606,60 905,109 74,-119 153,-237 238,-352 162,-221 342,-432 540,-630 516,-517 1114,-907 1754,-1172 666,-276 1373,-414 2076,-414 703,0 1409,138 2076,414 640,265 1238,655 1754,1172 516,516 907,1114 1172,1754 276,666 414,1373 414,2076 0,535 -79,1070 -237,1587 -97,317 -224,627 -381,927 187,108 369,224 546,348 334,236 648,498 938,788 944,944 1578,2097 1918,3377 348,1308 384,2748 124,4227 -242,1376 -744,2789 -1491,4156 -718,1313 -1661,2585 -2815,3739 -1153,1153 -2425,2096 -3739,2814 -1366,747 -2779,1249 -4155,1491 -1479,260 -2919,224 -4228,-123 -1279,-340 -2432,-975 -3376,-1919 -283,-283 -541,-590 -773,-917 -114,-162 -222,-328 -324,-500 -327,194 -670,351 -1023,470 -564,190 -1151,285 -1734,285 -703,0 -1410,-138 -2076,-414 -640,-265 -1238,-656 -1754,-1172 -517,-516 -907,-1114 -1173,-1754 -276,-667 -413,-1373 -413,-2076 0,-703 138,-1410 414,-2076 265,-640 655,-1238 1172,-1754 227,-227 477,-434 744,-620 149,-103 301,-198 456,-284 -54,-309 -94,-620 -120,-931 -37,-454 -47,-911 -28,-1369 55,-1306 530,-2694 969,-3980 378,-1106 728,-2131 715,-2850 -7,-367 -60,-719 -159,-1046 -96,-319 -236,-617 -420,-887 -169,-247 -106,-584 142,-754 87,-59 185,-90 283,-94 719,-30 1309,55 1789,233 171,64 328,139 471,224 8,-52 16,-104 23,-157 48,-365 70,-750 70,-1168 -1,-299 241,-543 541,-544 157,0 299,66 398,173 325,321 587,621 793,909 76,105 145,210 206,313zm2692 -51c-901,299 -1780,727 -2607,1284l-1 -1c-35,23 -73,43 -114,58 -280,104 -592,-38 -696,-318 -53,-141 -124,-286 -217,-438 -55,391 -137,763 -246,1130l-2 -1c-34,117 -109,222 -218,295 -248,166 -585,99 -751,-150 -154,-232 -388,-420 -721,-543 -141,-52 -300,-93 -478,-122 36,96 70,194 100,293 129,427 198,878 206,1341 17,905 -364,2019 -775,3222 -413,1210 -860,2517 -908,3674 -18,414 -9,826 25,1234 34,409 93,812 178,1207 51,243 -70,498 -305,605 -233,106 -458,233 -672,382 -203,141 -402,307 -594,500 -417,417 -731,895 -941,1403 -218,526 -327,1090 -327,1658 0,568 109,1132 327,1658 210,508 524,986 941,1403 417,417 895,731 1402,941 527,218 1091,327 1659,327 471,0 940,-75 1386,-226 437,-147 856,-366 1236,-656l1 0c28,-21 58,-40 91,-56 268,-131 592,-19 723,249 150,308 325,606 527,890 194,273 413,533 659,779 806,806 1792,1348 2887,1639 1157,308 2437,338 3759,106 1258,-222 2559,-685 3825,-1377 1220,-667 2406,-1548 3489,-2631 1084,-1084 1965,-2270 2632,-3490 692,-1266 1155,-2567 1376,-3825 233,-1321 203,-2602 -105,-3759 -291,-1095 -833,-2081 -1639,-2887 -250,-250 -516,-473 -797,-670 -285,-201 -588,-378 -905,-529 -26,-13 -52,-27 -77,-44 -248,-168 -312,-506 -144,-754 243,-359 426,-748 550,-1153 126,-412 189,-841 189,-1269 0,-568 -109,-1132 -327,-1659 -210,-507 -524,-985 -941,-1402 -417,-417 -895,-731 -1403,-941 -526,-218 -1091,-327 -1658,-327 -568,0 -1132,109 -1658,327 -508,210 -986,524 -1403,941 -161,161 -306,330 -435,506 -132,179 -248,367 -349,562l0 -1c-109,210 -347,331 -590,281 -384,-78 -772,-132 -1162,-163 -392,-31 -789,-38 -1188,-21 -947,40 -1895,213 -2814,518z"/>
|
||||
<path class="fil2" d="M64612 59004c1735,-1735 4549,-1735 6285,0 726,726 1148,1640 1266,2586 1654,-155 3145,246 4159,1260 1144,1144 1509,2897 1173,4805 -364,2072 -1539,4302 -3436,6200 -1898,1898 -4129,3072 -6201,3436 -1908,336 -3660,-28 -4804,-1173 -1012,-1011 -1414,-2499 -1262,-4149 -947,-117 -1865,-540 -2592,-1267 -1736,-1736 -1736,-4550 0,-6285 1152,-1152 2779,-1539 4250,-1162 -377,-1472 10,-3099 1162,-4251zm1798 1798c371,-371 858,-556 1344,-556 487,0 974,185 1345,556 371,372 557,858 557,1345 0,487 -186,973 -557,1344 -371,372 -858,557 -1345,557 -486,0 -973,-185 -1344,-557 -371,-371 -557,-857 -557,-1344 0,-487 186,-973 557,-1345zm7000 3207c-3,-147 30,-298 104,-438 32,-62 71,-119 116,-170 204,-272 553,-416 908,-342 222,46 408,170 535,338 26,18 52,36 78,56 145,105 270,211 376,316 1038,1038 1248,2647 748,4409 -450,1586 -1489,3328 -3012,4850 -1522,1523 -3264,2562 -4850,3012 -1762,500 -3371,290 -4409,-748 -96,-96 -191,-206 -285,-331 -86,-113 -165,-235 -239,-365 -228,-403 -113,-906 252,-1173 111,-105 251,-183 411,-221 867,-203 1826,-630 2800,-1234 994,-615 1994,-1411 2922,-2338 960,-961 1775,-1992 2395,-3011 548,-901 944,-1792 1150,-2610zm-7297 10429c504,109 1125,59 1804,-133 1302,-369 2760,-1251 4066,-2557 1306,-1306 2187,-2764 2557,-4065 192,-679 242,-1300 133,-1805 -237,554 -530,1118 -873,1682 -700,1150 -1605,2299 -2655,3350 -1022,1022 -2133,1904 -3246,2594 -597,369 -1196,683 -1786,934zm-269 -7326c120,-120 278,-180 436,-180l1 0c158,0 316,60 436,180 120,121 180,278 180,437l0 0c0,158 -60,316 -180,436 -120,120 -278,181 -436,181l-1 0c-158,0 -316,-61 -436,-181 -120,-120 -180,-278 -180,-436l0 0c0,-159 60,-316 180,-437zm1425 -1425c121,-120 279,-181 437,-181 158,0 316,61 436,181 120,120 181,278 181,436l0 1c0,158 -61,316 -181,436 -120,121 -278,181 -436,181 -158,0 -316,-60 -437,-181 -120,-120 -180,-278 -180,-436l0 -1c0,-158 60,-316 180,-436zm-6271 528c371,-372 857,-557 1344,-557 487,0 973,185 1345,557 371,371 557,858 557,1344 0,487 -186,973 -557,1345 -372,371 -858,557 -1345,557 -487,0 -973,-186 -1344,-557 -372,-372 -557,-858 -557,-1345 0,-486 185,-973 557,-1344zm11289 -11502c-573,0 -1146,219 -1583,656 -14,14 -27,27 -40,41l-1 2 -19 20 -1 0c-19,21 -38,42 -56,63l-1 1 -17 20 -2 3 -16 20 -2 1c-11,14 -23,29 -34,43l-1 1 -15 20 -1 2c833,434 1610,997 2304,1691 335,335 651,708 947,1115 35,47 69,95 102,143l19 -19c437,-437 656,-1010 656,-1583 0,-573 -219,-1146 -656,-1584 -437,-437 -1010,-656 -1583,-656zm-16452 15633l-16 9 -10 6 -10 6 -11 7 -15 9 -9 6 -18 11 -4 3 -18 12 -7 4 -14 10 -10 7 -14 9 -8 5 -17 12 -7 5 -17 13 -3 2 -18 14 -6 4 -17 13 -6 4 -18 15 -1 0 -18 15 -7 6 -17 14 -3 2 -20 17 0 0c-14,13 -28,25 -42,37l-2 2 -19 18 -2 1 -18 17 -3 3 -19 18 -2 2 -20 20c-437,437 -656,1010 -656,1583 0,573 219,1146 656,1583 438,437 1011,656 1584,656 573,0 1146,-219 1583,-656 13,-13 26,-26 38,-39l4 -4 16 -17 4 -4 17 -19 1 -1c6,-6 12,-13 18,-20l1 -1 18 -21 1 -1 16 -19 4 -5 12 -14 7 -9 13 -17 2 -2 14 -18 6 -7 11 -15 2 -2c-42,-29 -84,-59 -126,-89 -406,-296 -779,-612 -1114,-947 -680,-680 -1235,-1440 -1665,-2253l-1 0z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="fil2" d="M92909 150008c-849,-213 -1661,-516 -2423,-899 -963,-482 -1840,-1088 -2607,-1793 -405,-373 -781,-775 -1124,-1202 -257,-320 -497,-657 -716,-1008 -80,14 -160,25 -239,34 -213,26 -428,39 -643,39 -730,0 -1429,-147 -2069,-412 -666,-276 -1264,-678 -1761,-1175 -980,-980 -1586,-2334 -1586,-3830 0,-730 146,-1429 411,-2069 276,-666 678,-1263 1175,-1760 352,-352 757,-658 1203,-906 281,-156 576,-288 884,-393 -22,-124 -42,-250 -58,-377 -39,-308 -59,-609 -59,-902 0,-1335 366,-2599 1030,-3744 680,-1171 1673,-2215 2903,-3077 1143,-801 2498,-1446 3992,-1884 1437,-421 3003,-654 4634,-654 1632,0 3197,233 4634,654 1494,438 2849,1083 3992,1884 1230,862 2223,1906 2903,3077 664,1145 1031,2409 1031,3744 0,293 -19,584 -54,872 -14,108 -29,215 -48,322 355,101 696,236 1018,403 499,259 951,591 1341,981 497,497 899,1094 1175,1760 265,640 411,1339 411,2069 0,731 -146,1430 -411,2070 -276,666 -678,1263 -1175,1760 -497,497 -1094,899 -1761,1175 -640,265 -1339,412 -2069,412 -262,0 -524,-20 -785,-58 -120,-17 -238,-38 -354,-63 -222,358 -462,699 -720,1023 -350,439 -735,852 -1151,1235 -636,585 -1280,1061 -1960,1457 -671,391 -1376,702 -2144,962l0 1c-785,292 -1449,725 -1944,1249 -484,512 -809,1110 -929,1746 -56,294 -339,488 -633,433 -104,-19 -195,-67 -268,-134 -529,-487 -886,-965 -1099,-1429 -77,-166 -134,-330 -175,-492 -43,31 -85,63 -127,95 -292,224 -581,480 -876,776 -211,213 -555,214 -767,2 -111,-110 -164,-258 -159,-403 -4,-457 24,-855 81,-1204 21,-128 47,-250 76,-367zm-1939 -1867c848,425 1773,744 2751,936l0 1c41,8 82,21 121,39 272,124 392,446 268,718 -63,136 -114,289 -156,462 315,-237 636,-443 973,-624l0 1c107,-58 234,-80 363,-54 293,58 483,344 425,637 -55,273 -22,571 126,893 63,137 146,278 251,424 217,-481 522,-930 903,-1333 611,-646 1416,-1175 2356,-1524l1 1 16 -5c703,-237 1348,-521 1962,-878 609,-356 1190,-786 1768,-1318 376,-345 722,-716 1036,-1111 307,-385 581,-787 818,-1202 111,-242 386,-371 648,-293 200,60 404,106 611,136 202,29 413,44 632,44 590,0 1149,-116 1657,-326 526,-218 1003,-540 1404,-942 401,-401 723,-877 941,-1403 211,-508 327,-1068 327,-1658 0,-589 -116,-1149 -327,-1657 -218,-526 -540,-1002 -941,-1404 -315,-315 -675,-580 -1069,-784 -387,-201 -808,-345 -1253,-421l0 -1 -38 -8c-291,-71 -469,-365 -397,-656 59,-237 105,-483 136,-735 30,-243 45,-491 45,-741 0,-1140 -314,-2220 -882,-3200 -601,-1036 -1485,-1963 -2584,-2733 -1046,-733 -2293,-1325 -3678,-1731 -1334,-391 -2796,-607 -4328,-607 -1532,0 -2994,216 -4328,607 -1384,406 -2632,998 -3678,1731 -1099,770 -1983,1697 -2584,2733 -568,980 -882,2060 -882,3200 0,269 16,525 47,767 31,245 78,490 140,733l11 39c66,293 -116,584 -408,650 -397,92 -772,239 -1118,430 -350,195 -673,440 -960,727 -401,402 -723,878 -941,1404 -211,508 -327,1068 -327,1657 0,1196 485,2278 1268,3061 402,402 878,724 1404,942 508,210 1067,326 1657,326 178,0 350,-10 516,-29 179,-22 347,-52 505,-90 228,-55 474,44 597,257 240,418 516,821 825,1205 308,384 647,746 1014,1083 697,641 1490,1190 2356,1624z"/>
|
||||
<path class="fil2" d="M92035 144355c-2454,0 -4444,-1990 -4444,-4445 0,-1026 348,-1971 932,-2723 -1279,-1060 -2049,-2398 -2049,-3832 0,-1618 981,-3115 2568,-4227 1723,-1207 4130,-1954 6814,-1954 2684,0 5091,747 6814,1954 1587,1112 2568,2609 2568,4227 0,1431 -767,2767 -2042,3826 587,753 937,1700 937,2729 0,2455 -1989,4445 -4444,4445 -1629,0 -3053,-877 -3827,-2184 -774,1307 -2198,2184 -3827,2184zm3821 -10517c-374,0 -736,-76 -1070,-214 -349,-145 -660,-353 -914,-608 -255,-255 -463,-565 -608,-914 -138,-334 -215,-696 -215,-1070 0,-375 77,-736 215,-1070 145,-350 353,-660 608,-915 254,-255 565,-463 914,-607 334,-139 696,-215 1070,-215 375,0 736,76 1070,215 350,144 660,352 915,607 255,255 462,565 607,915 138,334 215,695 215,1070 0,374 -77,736 -215,1070 -145,349 -352,659 -607,914 -255,255 -565,463 -915,608 -334,138 -695,214 -1070,214zm-975 3912c-170,0 -324,-69 -436,-181 -112,-111 -181,-266 -181,-436 0,-170 69,-324 181,-436l0 -1c112,-111 266,-180 436,-180 171,0 325,69 437,180 112,112 181,266 181,437 0,170 -69,324 -181,436l-1 0c-112,112 -266,181 -436,181zm2016 0c-170,0 -324,-69 -436,-181l0 0c-112,-112 -181,-266 -181,-436 0,-170 69,-324 181,-436l0 -1c112,-111 266,-180 436,-180 170,0 324,69 436,180l0 1c112,112 181,266 181,436 0,170 -69,324 -181,436l0 0c-112,112 -266,181 -436,181zm-4862 4062c-525,0 -1000,-213 -1344,-557 -345,-344 -557,-820 -557,-1345 0,-525 212,-1000 557,-1344 344,-344 819,-557 1344,-557 525,0 1000,213 1345,557 344,344 556,819 556,1344 0,525 -212,1001 -556,1345 -345,344 -820,557 -1345,557zm7654 0c-525,0 -1000,-213 -1344,-557 -344,-344 -557,-820 -557,-1345 0,-525 213,-1000 557,-1344 344,-344 819,-557 1344,-557 525,0 1000,213 1345,557 344,344 556,819 556,1344 0,525 -212,1001 -556,1345 -345,344 -820,557 -1345,557zm-4217 -9857c114,47 243,73 384,73 141,0 270,-26 384,-73 116,-48 225,-123 320,-219 96,-96 171,-204 219,-320 47,-114 73,-244 73,-384 0,-141 -26,-270 -73,-384 -48,-116 -123,-225 -219,-321 -95,-95 -204,-170 -320,-218 -114,-47 -243,-73 -384,-73 -141,0 -270,26 -384,73 -116,48 -225,123 -320,218 -96,96 -171,205 -219,321 -47,114 -73,243 -73,384 0,140 26,270 73,384 48,116 123,224 219,320 95,96 204,170 320,219zm-11898 9391c405,405 965,656 1583,656 49,0 97,-2 146,-5 -175,-716 -267,-1461 -267,-2227 0,-473 41,-961 119,-1458 38,-246 86,-488 143,-725 -16,-21 -31,-41 -46,-62 -31,-1 -63,-2 -95,-2 -618,0 -1178,251 -1583,656 -405,405 -656,965 -656,1583 0,619 251,1179 656,1584zm22844 615c138,27 280,41 425,41 618,0 1178,-251 1583,-656 405,-405 656,-965 656,-1584 0,-618 -251,-1178 -656,-1583 -405,-405 -965,-656 -1583,-656 -140,0 -276,13 -409,38l-19 26c56,237 104,479 142,725 78,497 119,985 119,1458 0,753 -89,1486 -258,2191z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<circle class="fil0" cx="96123" cy="95877" r="6029"/>
|
||||
<g>
|
||||
<path class="fil3" d="M72166 101293l0 -52c166,-1067 209,-2321 1052,-3563l0 0c56,-73 114,-145 175,-215 870,-995 2102,-1493 3693,-1493 1574,0 2799,493 3678,1479 846,938 1271,2204 1271,3797 0,1540 -406,2785 -1214,3735 -863,1007 -2048,1512 -3562,1512 -2133,0 -3619,-796 -4463,-2389 -420,-794 -630,-1732 -630,-2811zm2118 -69c0,998 216,1806 645,2425 495,721 1223,1081 2180,1081 965,0 1690,-363 2181,-1088 417,-619 626,-1432 626,-2439 0,-1019 -206,-1827 -619,-2425 -481,-696 -1209,-1045 -2188,-1045 -981,0 -1713,351 -2199,1053 -417,602 -626,1415 -626,2438zm9014 8141l1593 0 0 -3628c135,263 310,457 528,583 218,126 491,187 820,187 353,0 643,-71 872,-215 230,-143 410,-363 543,-662 133,-298 223,-677 275,-1135 50,-457 76,-1002 76,-1630 0,-621 -29,-1155 -83,-1603 -57,-450 -154,-820 -294,-1111 -137,-292 -325,-507 -557,-645 -232,-140 -524,-208 -877,-208 -334,0 -618,75 -853,227 -235,152 -415,375 -545,666l0 -709 -1498 0 0 9883zm1567 -6738c0,-355 7,-661 23,-917 17,-253 52,-464 107,-628 57,-166 137,-284 246,-362 109,-76 256,-114 441,-114 168,0 299,45 396,132 97,88 171,223 220,411 48,185 79,421 93,708 14,287 21,626 21,1022 0,393 -5,732 -14,1021 -10,287 -38,524 -85,711 -50,188 -124,327 -221,420 -97,92 -232,140 -410,140 -194,0 -346,-50 -453,-150 -109,-99 -191,-253 -246,-462 -57,-208 -90,-471 -102,-792 -12,-319 -16,-699 -16,-1140zm7335 1349c0,467 -59,808 -178,1026 -118,216 -322,325 -614,325 -298,0 -502,-140 -616,-419 -114,-278 -171,-726 -171,-1339 0,-79 0,-152 0,-223 0,-74 5,-150 15,-223l3116 0 0 -514c0,-283 -4,-546 -14,-792 -7,-244 -28,-472 -61,-683 -34,-210 -81,-403 -145,-576 -66,-175 -154,-331 -265,-476 -200,-263 -448,-460 -749,-590 -301,-131 -666,-194 -1098,-194 -855,0 -1481,241 -1879,727 -119,145 -211,306 -280,486 -69,180 -118,382 -154,602 -33,218 -54,460 -64,721 -9,260 -14,545 -14,850 0,361 2,695 9,1003 7,308 31,592 69,853 40,261 100,500 180,716 81,213 192,412 334,593 195,229 434,398 723,502 287,104 640,156 1060,156 789,0 1372,-182 1744,-545 372,-362 559,-934 559,-1716 0,-40 0,-83 0,-125 0,-41 -4,-90 -14,-145l-1493 0zm-1579 -1934c0,-80 -2,-144 -7,-194 -4,-50 -7,-86 -7,-109 0,-436 57,-756 169,-958 109,-201 315,-303 616,-303 154,0 280,24 379,73 100,50 178,126 232,225 55,102 95,233 119,392 23,161 35,350 35,571l0 303 -1536 0zm4321 4280l1593 0 0 -4365c0,-451 52,-782 154,-998 102,-216 292,-325 569,-325 260,0 434,88 524,261 87,175 132,448 132,818l0 4609 1593 0 0 -5372c0,-546 -140,-958 -419,-1235 -280,-278 -671,-417 -1174,-417 -315,0 -592,75 -836,225 -244,149 -446,367 -607,654l0 -695 -1529 0 0 6840zm5961 0l1706 0 0 -4010 2890 0 0 -1450 -2890 0 0 -2147 3063 0 0 -1494 -4769 0 0 9101zm8219 -2346c0,467 -59,808 -177,1026 -119,216 -323,325 -614,325 -299,0 -503,-140 -616,-419 -114,-278 -171,-726 -171,-1339 0,-79 0,-152 0,-223 0,-74 5,-150 14,-223l3117 0 0 -514c0,-283 -5,-546 -14,-792 -7,-244 -29,-472 -62,-683 -33,-210 -80,-403 -144,-576 -67,-175 -155,-331 -266,-476 -199,-263 -448,-460 -749,-590 -301,-131 -666,-194 -1097,-194 -856,0 -1482,241 -1880,727 -118,145 -211,306 -279,486 -69,180 -119,382 -155,602 -33,218 -54,460 -63,721 -10,260 -15,545 -15,850 0,361 3,695 10,1003 7,308 31,592 68,853 41,261 100,500 181,716 80,213 192,412 334,593 194,229 434,398 723,502 287,104 640,156 1059,156 789,0 1372,-182 1745,-545 372,-362 559,-934 559,-1716 0,-40 0,-83 0,-125 0,-41 -5,-90 -14,-145l-1494 0zm-1578 -1934c0,-80 -2,-144 -7,-194 -5,-50 -7,-86 -7,-109 0,-436 57,-756 168,-958 109,-201 315,-303 616,-303 154,0 280,24 380,73 99,50 177,126 232,225 54,102 95,233 118,392 24,161 36,350 36,571l0 303 -1536 0zm4079 2005l0 270c0,754 180,1306 538,1659 358,354 915,531 1671,531 735,0 1292,-168 1666,-502 375,-337 562,-804 562,-1406 0,-315 -52,-583 -157,-808 -104,-225 -248,-429 -433,-614 -185,-184 -406,-362 -657,-530 -253,-169 -528,-356 -829,-560 -140,-97 -263,-185 -373,-263 -108,-78 -199,-156 -270,-232 -71,-76 -125,-157 -163,-240 -38,-82 -55,-175 -55,-277 0,-175 57,-320 173,-431 116,-112 275,-166 479,-166 273,0 472,76 592,230 124,151 185,391 185,720l0 145 1394 0 0 -147c0,-1420 -692,-2128 -2074,-2128 -723,0 -1270,161 -1642,481 -372,322 -560,784 -560,1384 0,284 41,531 121,744 83,213 199,408 351,590 154,180 344,353 571,524 225,168 486,348 778,543 156,106 301,201 429,284 130,85 244,166 339,247 94,83 165,166 218,253 49,88 75,190 75,306 0,209 -63,372 -192,493 -125,121 -303,180 -530,180 -287,0 -486,-83 -600,-249 -114,-166 -171,-443 -171,-829l0 -202 -1436 0zm8535 1157l182 1095c-339,73 -652,109 -941,109 -926,0 -1472,-304 -1635,-910 -74,-278 -111,-726 -111,-1347l0 -4242 -911 0 0 -967 911 0 0 -1825 1237 -749 0 2574 1265 0 0 967 -1265 0 0 4299c0,365 31,609 90,728 99,194 305,292 623,292 149,0 334,-8 555,-24z"/>
|
||||
<path class="fil3" d="M115025 79602l-6347 7296c1504,1478 2638,3131 3400,4697l-4669 2698c0,0 -1892,-4442 -5454,-7120 410,942 632,1984 632,3074 0,4281 -3492,7778 -7769,7778 -4503,0 -8070,-3863 -7756,-8323l3972 479c-536,1975 963,4016 3078,4016 1744,0 3191,-1430 3191,-3191 0,-4687 -5328,-5834 -9133,-4221 -2368,1007 -4273,2486 -6880,4495 -2665,-2494 -5437,-4892 -8214,-7328l2733 -3105 7042 6880c531,-432 1141,-885 1809,-1343l-4491 -6029 2603 -1801 4064 6487c1233,-675 2602,-1303 4102,-1787l-3418 -10716 5175 -1248 2141 11088c819,-92 1643,-140 2472,-136l1910 -9020 3753 872 -2677 8428c2817,1768 3578,2549 5578,4955l7714 -9236 1439 1361z"/>
|
||||
</g>
|
||||
<path class="fil4" d="M85575 112548l58 2168 2419 -141 35 773 -2618 2483 24 1972 5083 -59 -12 -2171 -2418 176 2219 -2008 -270 -2700 -517 -493 -4003 0zm10061 -82l-3182 140 -1221 364 177 6833 4097 -59 1068 -152 153 -6211 -1092 -915zm-1021 5189l-1362 23 -47 -3087 1503 -118 -94 3182zm3017 -5107l59 2168 2418 -141 35 773 -2618 2483 24 1972 5083 -59 -12 -2171 -2418 176 2219 -2008 -270 -2700 -517 -493 -4003 0zm5189 1054l223 1994 1397 -669 -70 4947 2406 -106 -35 -7220 -2207 47 -1714 1007z"/>
|
||||
<polygon class="fil3" points="76666,109003 115580,109003 115580,109727 76666,109727 "/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 934 KiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 389 KiB |
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 17 KiB |
|
@ -1,79 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Creator: CorelDRAW X7 -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="1920px" height="1000px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
|
||||
viewBox="0 0 192000 100000"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.str0 {stroke:#FFE16B;stroke-width:600.01;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:600.009567 1800.028701}
|
||||
.fil0 {fill:none}
|
||||
.fil4 {fill:#9EE3CC}
|
||||
.fil1 {fill:whitesmoke}
|
||||
.fil5 {fill:white}
|
||||
.fil2 {fill:gray;fill-rule:nonzero}
|
||||
.fil3 {fill:#FFE16B;fill-rule:nonzero}
|
||||
]]>
|
||||
</style>
|
||||
</defs>
|
||||
<g id="Layer_x0020_1">
|
||||
<metadata id="CorelCorpID_0Corel-Layer"/>
|
||||
<g id="_1659027276032">
|
||||
<rect class="fil0" width="192000" height="100000"/>
|
||||
<g>
|
||||
<rect class="fil1" x="38849" y="28254" width="113800" height="49193"/>
|
||||
<polygon class="fil2" points="41089,29137 41222,24905 43881,24861 43779,22348 38400,22759 38444,31400 44219,31694 44219,28961 "/>
|
||||
<path id="1" class="fil2" d="M51802 22465l-6319 103 -220 8715 2586 294 4336 -179 308 -1663 -691 -7270zm-3997 6599l74 -4086 1631 89 191 3923 -1896 74z"/>
|
||||
<path id="2" class="fil2" d="M56784 22333l44 1220 -2836 44 -793 1381 147 4306 1219 1220 2293 -74 29 1426 2778 -191 -15 -1235 2778 -220 793 -1337 -117 -4203 -941 -1132 -2557 -59 0 -1263 -2822 117zm-1190 3659l1396 -44 0 2043 -1308 29 -88 -2028zm5305 15l30 1896 -1294 0 0 -1925 1264 29z"/>
|
||||
<polygon id="3" class="fil2" points="68659,31724 71598,31636 71524,26492 71524,22465 68614,22495 68629,23656 67674,25258 66895,26536 66822,22612 64132,22612 64147,31415 66880,31562 66866,30313 67938,28491 68644,27462 "/>
|
||||
<path id="4" class="fil2" d="M76521 28843l558 103 -132 2837 3013 -162 -265 -9141 -4188 -15 -2219 265 -221 4923 985 500 -1808 2733 2660 1029 1617 -3072zm793 -2145l-1499 29 -14 -1925 1543 -118 -30 2014z"/>
|
||||
<polygon id="5" class="fil2" points="83766,32106 84912,32547 88689,22348 87484,21936 "/>
|
||||
<polygon id="6" class="fil2" points="38281,36500 38143,43476 40314,43487 40337,39803 40984,41154 42231,41062 42809,39768 42959,43522 45119,43372 44853,36338 42970,36269 41561,39018 40129,36269 "/>
|
||||
<path id="7" class="fil2" d="M51321 38995l-1675 -2738 -2033 81 -1443 2992 -301 4134 1987 35 58 -1236 1651 -139 116 1433 2079 -93 -439 -4469zm-3327 1536l104 -1040 601 -1305 624 1328 80 936 -1409 81z"/>
|
||||
<path id="8" class="fil2" d="M56633 35299l578 -878 -1386 -35 -104 382 -162 173 -404 11 -139 -231 -104 -346 -1374 46 728 1063 335 300 1432 58 600 -543zm-600 8258l2310 -70 -58 -4042 0 -3164 -2287 23 12 912 -751 1259 -612 1005 -58 -3084 -2113 0 11 6918 2148 116 -11 -982 843 -1432 554 -809 12 3350z"/>
|
||||
<polygon id="9" class="fil2" points="59636,36500 59498,43476 61669,43487 61692,39803 62339,41154 63586,41062 64163,39768 64314,43522 66473,43372 66208,36338 64325,36269 62916,39018 61484,36269 "/>
|
||||
<polygon id="10" class="fil2" points="70816,40762 70804,41697 67617,41512 67443,43545 72017,43672 73103,42355 72987,36223 70816,36165 70816,38948 69545,38821 69476,36246 67293,36292 67397,40762 "/>
|
||||
<polygon id="11" class="fil2" points="77618,43557 79928,43487 79871,39445 79871,36154 77584,36246 77595,38937 76232,39041 76175,36396 74061,36396 74073,43314 76221,43314 76209,40866 77607,40808 "/>
|
||||
<path id="12" class="fil2" d="M86234 38995l-1674 -2738 -2033 81 -1444 2992 -300 4134 1986 35 58 -1236 1652 -139 115 1433 2079 -93 -439 -4469zm-3326 1536l104 -1040 601 -1305 623 1328 81 936 -1409 81z"/>
|
||||
<path id="13" class="fil2" d="M92840 39976l-115 -2760 -959 -970 -4342 115 34 7161 2276 12 -81 -2357 2564 -161 623 -1040zm-3245 -1721l104 -127 1097 24 35 1351 -1224 81 -12 -1329z"/>
|
||||
<polygon id="14" class="fil2" points="97160,43557 99470,43487 99412,39445 99412,36154 97125,36246 97137,38937 95774,39041 95716,36396 93603,36396 93614,43314 95762,43314 95751,40866 97148,40808 "/>
|
||||
<polygon id="15" class="fil2" points="104170,43557 106480,43487 106422,39445 106422,36281 104136,36304 104147,37216 103396,38475 102784,39480 102727,36396 100613,36396 100625,43314 102773,43430 102761,42448 103604,41016 104159,40207 "/>
|
||||
<polygon id="16" class="fil2" points="107531,36373 107624,43487 109922,43406 109841,40685 111111,41537 111238,43534 113664,43395 113179,40375 111758,39751 113144,38898 113329,36465 110984,36315 110927,38323 109749,39176 109702,36338 "/>
|
||||
<path id="17" class="fil2" d="M119658 38995l-1675 -2738 -2032 81 -1444 2992 -300 4134 1986 35 58 -1236 1651 -139 116 1433 2079 -93 -439 -4469zm-3326 1536l104 -1040 600 -1305 624 1328 81 936 -1409 81z"/>
|
||||
<path class="fil2" d="M39385 52302l541 0 0 -5193 -452 0c-13,328 -111,569 -294,725 -183,156 -460,234 -831,234l-62 0 0 436 1098 0 0 3798z"/>
|
||||
<path id="1" class="fil2" d="M43254 52302l551 0 0 -1314 484 0 0 -508 -484 0 0 -3371 -500 0 -1922 3371 0 508 1871 0 0 1314zm-1394 -1822l1461 -2635 -67 2635 -1394 0z"/>
|
||||
<polygon id="2" class="fil2" points="46599,50673 48260,50673 48260,50068 46599,50068 "/>
|
||||
<path id="3" class="fil2" d="M51903 52302l540 0 0 -5193 -451 0c-14,328 -112,569 -295,725 -182,156 -459,234 -830,234l-62 0 0 436 1098 0 0 3798z"/>
|
||||
<path id="4" class="fil2" d="M54007 50938c0,481 112,845 338,1095 226,249 557,374 994,374 219,0 416,-40 591,-121 175,-82 322,-200 445,-357 121,-156 213,-349 278,-576 63,-228 95,-486 95,-777 0,-266 -30,-502 -94,-711 -61,-208 -149,-383 -262,-525 -114,-143 -250,-250 -410,-323 -160,-74 -338,-110 -535,-110 -203,0 -375,35 -517,106 -144,71 -239,159 -286,264l185 -1556 1721 0 0 -508 -2174 0 -283 2635 491 43c50,-149 138,-266 261,-350 123,-84 280,-126 468,-126 564,0 847,409 847,1225 0,414 -72,728 -215,940 -144,213 -351,319 -620,319 -247,0 -439,-79 -575,-237 -136,-157 -203,-383 -203,-677l0 -47 -540 0z"/>
|
||||
<path id="5" class="fil2" d="M61734 52312l0 -410c-15,5 -31,8 -47,8 -14,0 -26,0 -39,0 -82,0 -140,-22 -174,-66 -33,-43 -51,-113 -51,-210l0 -2257c0,-364 -84,-629 -255,-794 -171,-165 -438,-249 -803,-249 -392,0 -680,90 -860,272 -181,180 -275,466 -283,857l508 0 0 -63c0,-212 47,-368 141,-466 95,-98 239,-148 434,-148 193,0 339,35 434,105 96,68 144,185 144,348l0 362c0,65 -11,119 -31,164 -22,43 -56,80 -105,114 -48,32 -110,62 -188,90 -77,27 -172,60 -285,101 -196,61 -366,126 -509,191 -144,63 -264,141 -358,231 -94,91 -164,203 -211,334 -47,133 -71,299 -71,499 0,340 78,605 234,793 154,187 371,281 649,281 214,0 399,-51 555,-155 155,-102 272,-255 351,-457 9,179 59,316 146,412 88,95 209,144 363,144 47,0 96,-3 145,-10 51,-7 107,-15 166,-21zm-851 -2090l0 764c0,147 -18,279 -54,395 -35,117 -85,216 -149,296 -65,80 -141,141 -231,183 -89,42 -188,63 -299,63 -156,0 -275,-52 -358,-157 -85,-105 -127,-255 -127,-449 0,-129 12,-235 38,-320 24,-83 62,-153 111,-210 51,-56 115,-103 190,-142 76,-38 165,-75 269,-112 133,-47 251,-92 353,-134 104,-42 188,-101 257,-177z"/>
|
||||
<path id="6" class="fil2" d="M62293 50809c0,275 32,519 97,728 64,210 158,382 285,515 112,127 251,217 416,272 166,55 355,83 567,83 228,0 429,-35 603,-106 172,-71 317,-174 434,-309 117,-136 204,-301 262,-498 58,-197 86,-420 86,-669 0,-374 -86,-673 -260,-901 -173,-225 -428,-364 -764,-415 275,-55 489,-188 638,-399 149,-211 225,-484 225,-816 0,-118 -22,-247 -64,-386 -41,-139 -111,-268 -208,-387 -97,-117 -224,-216 -383,-294 -159,-79 -355,-118 -589,-118 -191,0 -369,32 -533,98 -164,66 -305,161 -426,286 -121,124 -215,277 -284,458 -69,180 -102,387 -102,619l0 2239zm540 33l0 -2252c0,-319 69,-567 206,-742 136,-176 320,-264 552,-264 144,0 264,23 356,69 95,46 168,108 224,187 55,78 94,170 115,275 20,106 31,221 31,344 0,159 -19,293 -58,400 -37,107 -94,193 -169,259 -74,65 -167,112 -277,141 -110,28 -238,43 -382,43l-371 0 0 476 430 0c347,0 595,91 742,274 148,183 222,448 222,792 0,348 -63,610 -189,789 -127,177 -328,266 -608,266 -550,0 -824,-352 -824,-1057z"/>
|
||||
<path id="7" class="fil2" d="M68017 51123l-540 0c0,276 -59,474 -176,595 -118,120 -292,181 -522,181 -211,0 -375,-55 -490,-164 -117,-110 -175,-262 -175,-456 0,-114 16,-211 47,-291 32,-80 79,-148 143,-207 63,-59 139,-112 231,-158 93,-45 199,-91 320,-138 207,-81 380,-163 521,-245 140,-82 253,-170 339,-266 85,-95 146,-201 183,-317 36,-117 55,-250 55,-398 0,-154 -28,-286 -85,-394 -56,-109 -125,-199 -207,-273 -180,-172 -441,-258 -782,-258 -405,0 -704,93 -899,277 -195,184 -293,468 -293,852l516 0c0,-255 51,-434 153,-537 102,-104 253,-156 452,-156 201,0 353,54 454,160 101,106 151,257 151,454 0,45 -4,92 -14,141 -9,50 -33,102 -71,156 -39,54 -100,108 -179,163 -81,55 -192,110 -333,165 -234,90 -429,176 -586,258 -159,84 -285,172 -383,266 -97,94 -167,201 -209,318 -43,117 -64,254 -64,411 0,388 99,676 298,864 199,187 502,281 910,281 188,0 358,-25 510,-77 151,-52 282,-131 389,-237 109,-108 193,-241 250,-400 58,-160 86,-349 86,-570z"/>
|
||||
<path id="8" class="fil2" d="M68457 53527c148,44 269,66 363,66 162,0 302,-23 419,-68 117,-44 218,-113 301,-204 85,-91 157,-208 221,-349 63,-142 122,-311 177,-507l1186 -4018 -556 0 -846 3107 -823 -3107 -587 0 1134 3886c-43,140 -83,258 -125,359 -40,99 -85,180 -133,243 -48,63 -105,109 -168,139 -63,28 -137,43 -224,43 -58,0 -113,-4 -167,-14 -54,-9 -112,-27 -172,-53l0 477z"/>
|
||||
<path id="9" class="fil2" d="M73237 50947c-11,326 -69,570 -177,736 -107,165 -260,248 -461,248 -137,0 -252,-31 -345,-93 -93,-61 -168,-155 -223,-283 -55,-128 -96,-290 -121,-488 -24,-198 -36,-430 -36,-698 0,-266 12,-496 37,-690 24,-195 66,-357 123,-484 56,-128 131,-222 225,-284 94,-62 211,-93 351,-93 187,0 332,70 440,209 106,139 162,346 170,622l535 0 0 -79c0,-189 -27,-359 -82,-511 -55,-153 -133,-282 -234,-389 -102,-106 -224,-186 -368,-243 -145,-56 -306,-85 -485,-85 -441,0 -768,166 -981,498 -214,332 -320,832 -320,1501 0,698 102,1217 306,1557 206,340 525,509 957,509 391,0 694,-125 908,-374 213,-248 321,-611 321,-1086l-540 0z"/>
|
||||
<path id="10" class="fil2" d="M74552 52302l541 0 0 -2708c0,-113 19,-215 56,-309 39,-93 93,-174 163,-240 68,-67 152,-119 250,-155 97,-37 203,-56 318,-56 210,0 357,65 437,193 82,129 122,326 122,591l0 2684 541 0 0 -2684c0,-113 20,-218 59,-313 39,-96 94,-179 165,-249 72,-68 155,-123 253,-162 97,-39 204,-60 323,-60 112,0 204,17 275,50 71,32 126,82 167,149 41,68 68,151 83,252 15,100 22,220 22,356l0 2661 540 0 0 -3003c0,-309 -81,-543 -242,-702 -161,-159 -401,-238 -719,-238 -223,0 -419,45 -587,138 -170,91 -312,230 -428,417 -52,-182 -146,-319 -282,-414 -135,-94 -312,-141 -530,-141 -466,0 -805,185 -1015,557l0 -469 -512 0 0 3855z"/>
|
||||
<path class="fil2" d="M39071 57038c0,-149 8,-278 25,-386 18,-108 45,-196 84,-265 37,-67 88,-117 153,-149 64,-31 145,-47 239,-47 90,0 164,13 222,39 58,27 103,67 137,122 35,55 59,125 71,213 14,86 20,189 20,310 0,136 -13,251 -38,344 -27,93 -68,168 -123,226 -56,58 -125,98 -208,122 -82,23 -182,35 -297,35l-100 0 0 670 162 0c145,0 262,13 352,41 91,27 161,74 211,140 50,66 84,153 102,264 19,111 28,247 28,411 0,162 -8,302 -24,419 -15,117 -43,213 -82,288 -39,75 -93,130 -160,165 -67,36 -150,54 -250,54 -99,0 -183,-20 -250,-59 -67,-39 -121,-101 -161,-186 -42,-83 -70,-191 -88,-322 -17,-131 -25,-289 -25,-472l0 -1977zm-903 -147l0 2268c0,551 113,959 340,1227 227,267 582,402 1064,402 506,0 881,-137 1125,-410 243,-273 366,-690 366,-1252 0,-174 -19,-337 -58,-487 -39,-150 -98,-281 -177,-396 -78,-114 -179,-205 -301,-275 -123,-70 -267,-110 -432,-124 121,-16 234,-51 337,-105 104,-53 194,-123 272,-209 78,-88 137,-190 181,-308 43,-118 65,-249 65,-394 0,-430 -117,-759 -351,-988 -232,-228 -562,-343 -986,-343 -466,0 -822,121 -1072,362 -248,242 -373,586 -373,1032z"/>
|
||||
<polygon id="1" class="fil2" points="41391,60691 42407,60691 42852,59652 43305,60691 44297,60691 43313,58706 44270,56812 43297,56812 42876,57781 42458,56812 41434,56812 42415,58706 "/>
|
||||
<path id="2" class="fil2" d="M45850 56707c-274,0 -498,39 -673,118 -175,78 -313,201 -413,366 -100,165 -170,378 -209,636 -39,258 -59,567 -59,926 0,363 20,672 59,929 39,258 109,469 209,634 100,165 238,286 413,364 175,77 399,116 673,116 275,0 500,-39 677,-116 176,-78 314,-199 416,-364 102,-165 172,-376 211,-634 39,-257 59,-566 59,-929 0,-359 -20,-668 -59,-926 -39,-258 -109,-471 -211,-636 -102,-165 -240,-288 -416,-366 -177,-79 -402,-118 -677,-118zm-5 694c108,0 191,22 250,70 59,45 104,115 135,211 29,95 48,215 55,360 6,145 9,317 9,517l0 385c0,213 -3,395 -9,544 -7,148 -25,270 -54,366 -28,95 -74,164 -135,207 -60,44 -143,65 -251,65 -111,0 -196,-24 -255,-71 -59,-47 -102,-123 -132,-227 -30,-105 -46,-241 -51,-407 -5,-168 -8,-371 -8,-608l0 -356c0,-183 3,-339 9,-470 7,-132 26,-242 55,-330 31,-86 76,-150 135,-193 59,-42 141,-63 247,-63z"/>
|
||||
<path id="3" class="fil2" d="M49096 57449c100,0 181,20 242,61 62,41 109,104 143,189 32,86 54,194 64,325 11,131 17,289 17,472 0,266 -3,492 -10,680 -7,187 -25,340 -55,459 -31,118 -77,204 -138,258 -62,53 -150,80 -263,80 -94,0 -169,-21 -224,-63 -55,-42 -97,-109 -125,-203 -27,-93 -44,-212 -52,-357 -8,-147 -13,-323 -13,-530 0,-242 3,-449 10,-621 7,-172 24,-313 51,-425 28,-111 70,-193 125,-246 55,-52 132,-79 228,-79zm1337 2934l0 -3571 -849 0 0 402c-70,-166 -172,-292 -303,-378 -132,-86 -293,-129 -482,-129 -198,0 -362,35 -494,105 -131,68 -235,181 -313,336 -80,155 -135,356 -166,602 -31,247 -47,547 -47,902 0,360 15,669 43,929 30,261 81,474 158,642 75,168 180,292 314,373 133,79 304,119 514,119 331,0 575,-144 729,-433l0 347c0,125 -6,235 -18,328 -14,93 -38,169 -72,229 -33,59 -80,102 -139,131 -58,29 -135,43 -229,43 -99,0 -179,-21 -237,-63 -56,-43 -88,-102 -94,-179l-891 0c6,284 109,502 309,652 201,152 494,227 881,227 287,0 531,-40 728,-119 198,-81 346,-194 445,-342 97,-143 157,-310 179,-500 23,-188 34,-405 34,-653z"/>
|
||||
<path id="4" class="fil2" d="M54536 59167l0 80c0,155 -5,287 -17,397 -13,112 -34,203 -64,274 -29,73 -71,125 -123,159 -53,33 -120,49 -201,49 -146,0 -248,-56 -303,-170 -55,-113 -82,-297 -82,-554l0 -1344c0,-225 28,-390 86,-497 58,-107 158,-160 299,-160 142,0 242,53 302,161 59,107 88,273 88,499l0 90 862 0 0 -137c0,-449 -102,-779 -308,-990 -204,-211 -519,-317 -945,-317 -262,0 -480,39 -650,118 -171,78 -304,202 -402,369 -97,166 -164,377 -202,634 -39,258 -58,566 -58,925 0,360 19,668 58,925 38,258 105,469 202,634 98,165 231,288 402,366 170,79 388,118 650,118 433,0 750,-116 952,-347 200,-230 301,-586 301,-1066l0 -216 -847 0z"/>
|
||||
<path id="5" class="fil2" d="M56973 57038c0,-149 8,-278 25,-386 18,-108 45,-196 84,-265 37,-67 88,-117 153,-149 65,-31 145,-47 239,-47 90,0 164,13 222,39 58,27 104,67 137,122 35,55 59,125 71,213 14,86 21,189 21,310 0,136 -14,251 -39,344 -27,93 -68,168 -123,226 -56,58 -125,98 -208,122 -82,23 -182,35 -297,35l-100 0 0 670 162 0c145,0 262,13 352,41 91,27 161,74 211,140 50,66 85,153 102,264 19,111 28,247 28,411 0,162 -8,302 -24,419 -15,117 -43,213 -82,288 -39,75 -93,130 -160,165 -67,36 -150,54 -250,54 -99,0 -183,-20 -250,-59 -67,-39 -121,-101 -161,-186 -42,-83 -70,-191 -88,-322 -17,-131 -25,-289 -25,-472l0 -1977zm-903 -147l0 2268c0,551 113,959 340,1227 227,267 582,402 1064,402 506,0 881,-137 1125,-410 244,-273 366,-690 366,-1252 0,-174 -19,-337 -58,-487 -39,-150 -98,-281 -177,-396 -78,-114 -179,-205 -301,-275 -123,-70 -267,-110 -432,-124 121,-16 234,-51 337,-105 104,-53 194,-123 272,-209 78,-88 137,-190 181,-308 43,-118 65,-249 65,-394 0,-430 -117,-759 -351,-988 -232,-228 -562,-343 -986,-343 -466,0 -822,121 -1072,362 -248,242 -373,586 -373,1032z"/>
|
||||
<path id="6" class="fil2" d="M60828 56707c-274,0 -499,39 -674,118 -174,78 -313,201 -412,366 -101,165 -171,378 -210,636 -39,258 -59,567 -59,926 0,363 20,672 59,929 39,258 109,469 210,634 99,165 238,286 412,364 175,77 400,116 674,116 274,0 500,-39 676,-116 176,-78 314,-199 417,-364 102,-165 172,-376 211,-634 39,-257 59,-566 59,-929 0,-359 -20,-668 -59,-926 -39,-258 -109,-471 -211,-636 -103,-165 -241,-288 -417,-366 -176,-79 -402,-118 -676,-118zm-6 694c108,0 191,22 250,70 60,45 104,115 135,211 29,95 48,215 55,360 7,145 9,317 9,517l0 385c0,213 -2,395 -9,544 -7,148 -24,270 -54,366 -28,95 -74,164 -134,207 -61,44 -144,65 -252,65 -111,0 -196,-24 -255,-71 -59,-47 -102,-123 -132,-227 -29,-105 -45,-241 -51,-407 -5,-168 -8,-371 -8,-608l0 -356c0,-183 3,-339 10,-470 6,-132 25,-242 55,-330 31,-86 75,-150 134,-193 59,-42 141,-63 247,-63z"/>
|
||||
<path id="7" class="fil2" d="M63258 57820c0,-251 16,-464 47,-636 32,-172 85,-316 160,-430 75,-115 175,-210 300,-282 123,-71 281,-136 470,-191 243,-73 445,-132 602,-175 157,-43 296,-76 413,-101l0 -782c-47,23 -105,46 -175,70 -70,23 -136,43 -200,59 -65,18 -120,31 -164,42 -44,9 -67,15 -67,15 -268,82 -502,150 -703,207 -201,56 -374,119 -519,191 -147,71 -266,157 -362,258 -94,100 -169,238 -224,410 -55,170 -94,387 -117,645 -23,258 -34,579 -34,962l0 1020c0,300 24,555 72,768 47,213 123,388 229,527 107,137 246,238 420,302 173,65 384,97 634,97 256,0 469,-35 643,-105 173,-69 313,-175 419,-319 106,-142 183,-323 230,-543 47,-219 71,-478 71,-776l0 -131c0,-304 -15,-567 -46,-787 -29,-221 -88,-402 -174,-548 -86,-143 -209,-250 -365,-318 -156,-69 -361,-102 -615,-102 -100,0 -198,13 -293,41 -97,27 -186,69 -270,124 -84,55 -159,124 -225,204 -66,82 -118,176 -157,284zm1242 1122c0,214 -3,395 -10,545 -6,149 -25,271 -55,367 -29,94 -75,164 -135,207 -62,44 -148,65 -257,65 -105,0 -187,-20 -247,-61 -61,-41 -107,-105 -138,-194 -30,-89 -49,-203 -57,-345 -8,-141 -12,-312 -12,-512l0 -139c0,-169 4,-317 12,-445 8,-126 27,-232 56,-316 30,-84 75,-147 136,-190 62,-42 145,-64 250,-64 101,0 181,18 242,54 60,35 106,91 138,168 32,77 54,175 63,296 10,119 14,265 14,433l0 131z"/>
|
||||
<path id="8" class="fil2" d="M67332 56707c-274,0 -499,39 -674,118 -174,78 -313,201 -412,366 -101,165 -171,378 -210,636 -39,258 -59,567 -59,926 0,363 20,672 59,929 39,258 109,469 210,634 99,165 238,286 412,364 175,77 400,116 674,116 274,0 500,-39 676,-116 176,-78 314,-199 417,-364 102,-165 172,-376 211,-634 39,-257 59,-566 59,-929 0,-359 -20,-668 -59,-926 -39,-258 -109,-471 -211,-636 -103,-165 -241,-288 -417,-366 -176,-79 -402,-118 -676,-118zm-6 694c108,0 191,22 250,70 60,45 104,115 135,211 29,95 48,215 55,360 7,145 9,317 9,517l0 385c0,213 -2,395 -9,544 -7,148 -24,270 -54,366 -28,95 -74,164 -134,207 -61,44 -144,65 -252,65 -111,0 -196,-24 -255,-71 -59,-47 -102,-123 -132,-227 -29,-105 -45,-241 -51,-407 -5,-168 -8,-371 -8,-608l0 -356c0,-183 3,-339 10,-470 6,-132 25,-242 55,-330 31,-86 75,-150 134,-193 59,-42 141,-63 247,-63z"/>
|
||||
<path id="9" class="fil2" d="M70578 57449c99,0 180,20 242,61 62,41 109,104 142,189 33,86 54,194 65,325 11,131 16,289 16,472 0,266 -3,492 -10,680 -6,187 -25,340 -55,459 -31,118 -76,204 -138,258 -62,53 -149,80 -262,80 -94,0 -170,-21 -225,-63 -55,-42 -96,-109 -125,-203 -27,-93 -44,-212 -52,-357 -8,-147 -12,-323 -12,-530 0,-242 3,-449 9,-621 7,-172 24,-313 51,-425 29,-111 70,-193 125,-246 55,-52 132,-79 229,-79zm1336 2934l0 -3571 -848 0 0 402c-70,-166 -172,-292 -304,-378 -132,-86 -293,-129 -481,-129 -199,0 -363,35 -495,105 -130,68 -235,181 -313,336 -79,155 -134,356 -165,602 -31,247 -47,547 -47,902 0,360 14,669 43,929 29,261 80,474 157,642 75,168 180,292 314,373 133,79 304,119 514,119 332,0 575,-144 730,-433l0 347c0,125 -7,235 -19,328 -14,93 -38,169 -71,229 -34,59 -81,102 -140,131 -58,29 -135,43 -229,43 -99,0 -178,-21 -236,-63 -57,-43 -89,-102 -94,-179l-891 0c5,284 108,502 309,652 200,152 493,227 880,227 288,0 531,-40 729,-119 197,-81 345,-194 444,-342 97,-143 158,-310 179,-500 23,-188 34,-405 34,-653z"/>
|
||||
<path id="10" class="fil2" d="M74267 59360c0,265 -33,459 -100,582 -68,123 -183,184 -349,184 -169,0 -284,-79 -349,-237 -65,-158 -97,-412 -97,-760 0,-44 0,-86 0,-126 0,-42 3,-85 8,-127l1768 0 0 -291c0,-160 -3,-309 -8,-449 -4,-139 -16,-268 -35,-387 -19,-120 -46,-229 -82,-327 -38,-99 -88,-188 -151,-270 -113,-149 -254,-261 -425,-335 -170,-74 -377,-110 -622,-110 -485,0 -840,137 -1066,413 -67,82 -119,173 -158,275 -39,102 -68,217 -88,342 -19,123 -31,260 -36,408 -5,148 -8,309 -8,483 0,204 1,394 5,568 4,175 18,336 39,484 23,148 57,284 102,406 46,121 109,234 190,336 110,131 246,226 410,285 163,59 363,89 601,89 447,0 778,-104 989,-309 211,-206 317,-530 317,-973 0,-23 0,-47 0,-72 0,-23 -2,-51 -8,-82l-847 0zm-895 -1096c0,-46 -1,-82 -4,-111 -3,-28 -4,-48 -4,-61 0,-248 32,-429 96,-544 61,-114 178,-172 349,-172 87,0 159,14 215,42 57,28 101,71 132,128 31,58 54,132 67,222 13,91 20,199 20,324l0 172 -871 0z"/>
|
||||
<polygon id="11" class="fil2" points="76718,58989 77508,58989 77508,60691 78411,60691 78411,56812 77508,56812 77508,58264 76718,58264 76718,56812 75814,56812 75814,60691 76718,60691 "/>
|
||||
<polygon class="fil3" points="13797,77787 19508,77633 19137,71262 21173,71169 27714,78066 32910,78004 32755,64613 27034,64643 27498,71014 22209,65169 15096,65881 13797,67241 "/>
|
||||
<path id="1" class="fil3" d="M13581 51283l371 8381 959 3217 17999 -464 -155 -10793 -402 -2815 -16360 -402 -2412 2876zm13669 2691l62 3587 -8134 124 -309 -3958 8381 247z"/>
|
||||
<polygon id="2" class="fil3" points="13797,46026 19508,45871 19137,39500 21173,39408 27714,46304 32910,46242 32755,32851 27034,32882 27498,39253 22209,33408 15096,34119 13797,35480 "/>
|
||||
<polygon id="3" class="fil3" points="16575,32356 21828,31769 20065,28089 33095,28274 32817,21934 13797,22027 13921,27841 "/>
|
||||
<polyline class="fil0 str0" points="97450,27963 152649,27963 152649,77447 38849,77447 "/>
|
||||
<g>
|
||||
<path class="fil4" d="M148322 63626c-3440,-674 -6522,-2263 -8931,-4479 -1281,-1178 -2372,-2532 -3228,-4020 -612,148 -1252,226 -1910,226 -2237,0 -4263,-907 -5729,-2373 -1467,-1467 -2374,-3492 -2374,-5730 0,-2237 907,-4263 2374,-5729 1052,-1053 2393,-1817 3893,-2165 -232,-897 -353,-1820 -353,-2761 0,-4195 2351,-7941 6152,-10605 3574,-2505 8466,-4054 13829,-4054 5364,0 10256,1549 13830,4054 3801,2664 6152,6410 6152,10605 0,909 -113,1801 -330,2669 1684,290 3191,1099 4349,2257 1466,1466 2373,3492 2373,5729 0,2238 -907,4263 -2373,5730 -1467,1466 -3492,2373 -5730,2373 -808,0 -1588,-118 -2325,-338 -865,1532 -1978,2925 -3291,4132 -1983,1824 -3987,2986 -6531,3843 -2870,1066 -4881,3199 -5348,5660 -1647,-1515 -2140,-2900 -1893,-4125 -1105,596 -2101,1362 -3144,2407 -14,-1440 167,-2495 538,-3306zm-2631 -12968c-873,0 -1663,-354 -2236,-926 -572,-572 -926,-1363 -926,-2236 0,-873 354,-1663 926,-2236 573,-572 1363,-926 2236,-926 873,0 1664,354 2236,926 572,573 926,1363 926,2236 0,873 -354,1664 -926,2236 -572,572 -1363,926 -2236,926zm0 4229c-4082,0 -7390,-3309 -7390,-7391 0,-1706 578,-3278 1550,-4529 -1448,-1200 -2504,-2615 -3030,-4148 1857,-1146 3914,-2071 6102,-2753 2869,-894 5962,-1365 9122,-1365 2910,0 5768,400 8451,1166 2441,697 4730,1689 6775,2950 -525,1530 -1577,2942 -3019,4140 976,1253 1558,2828 1558,4539 0,4082 -3309,7391 -7390,7391 -2710,0 -5078,-1458 -6365,-3632 -1286,2174 -3655,3632 -6364,3632zm-9160 -19371c372,-2273 1901,-4351 4182,-5950 2866,-2008 6869,-3250 11332,-3250 4463,0 8467,1242 11332,3250 2283,1599 3812,3678 4183,5952 -1946,-1064 -4045,-1918 -6240,-2544 -2954,-843 -6091,-1284 -9275,-1284 -3454,0 -6850,520 -10016,1507 -1931,601 -3776,1378 -5498,2319zm13894 8388c-284,0 -540,-115 -726,-301 -186,-186 -301,-442 -301,-726 0,-283 115,-539 301,-725l1 0c185,-186 442,-301 725,-301 283,0 540,115 725,301 186,185 301,442 301,725 0,283 -115,539 -301,725l0 1c-187,186 -443,301 -725,301zm3351 0c-282,0 -538,-115 -725,-301l0 -1c-186,-186 -301,-442 -301,-725 0,-282 115,-539 301,-725l0 0c187,-186 443,-301 725,-301 283,0 539,115 725,301l1 0c186,186 301,443 301,725 0,283 -115,539 -301,725l-1 1c-186,186 -442,301 -725,301zm4644 6754c-873,0 -1664,-354 -2236,-926 -572,-572 -926,-1363 -926,-2236 0,-873 354,-1663 926,-2236 572,-572 1363,-926 2236,-926 873,0 1663,354 2235,926 573,573 927,1363 927,2236 0,873 -354,1664 -927,2236 -572,572 -1362,926 -2235,926zm11216 -7069l-32 43c94,395 173,797 237,1207 130,826 197,1636 197,2424l0 59 0 59 -1 58 0 59 -1 58 -2 59 -1 58 -2 58 -1 59 -2 58 -3 58 -2 58 -3 58c-2,39 -4,77 -6,116l-3 58 -4 58c-7,115 -15,231 -25,346 -4,38 -7,76 -10,115 -8,76 -15,152 -23,229l-7 57 -6 57c-28,247 -63,493 -102,736 -28,169 -58,337 -91,504l-11 56 -12 55 -11 56 -12 55 -12 56c-12,55 -24,110 -37,166l-12 55 -13 55 -13 55c229,44 465,67 706,67 1029,0 1960,-417 2633,-1091 674,-673 1091,-1604 1091,-2633 0,-1028 -417,-1959 -1091,-2633 -673,-674 -1604,-1090 -2633,-1090 -232,0 -459,21 -680,62zm-35141 7377l-13 -56 -13 -56 -14 -56 -12 -56 -13 -56 -13 -56 -12 -56 -12 -57 -12 -56 -11 -57 -12 -56c-7,-38 -15,-76 -22,-113l-11 -57 -11 -57 -10 -57 -10 -57 -10 -57 -10 -57c-7,-38 -13,-76 -19,-114l-9 -58 -9 -57c-6,-38 -12,-76 -18,-115l-8 -57 -8 -58 -8 -57c-5,-39 -10,-77 -15,-116 -8,-58 -15,-116 -22,-173l-6 -58c-7,-59 -13,-117 -19,-175l-6 -58c-6,-58 -11,-117 -16,-175l-5 -59c-3,-39 -6,-78 -9,-117 -3,-39 -6,-78 -9,-117 -2,-39 -5,-78 -7,-118l-4 -58c-4,-79 -8,-158 -11,-236l-2 -59c-2,-40 -3,-79 -4,-119l-2 -59c-1,-40 -2,-79 -3,-119l-1 -59 -1 -60 0 -59 0 -60 -1 -60c0,-788 68,-1598 198,-2424 64,-410 143,-812 237,-1207 -25,-34 -50,-68 -75,-102 -53,-2 -105,-3 -159,-3 -1028,0 -1959,416 -2633,1090 -673,674 -1090,1605 -1090,2633 0,1029 417,1960 1090,2633 674,674 1605,1091 2633,1091 82,0 162,-3 242,-8z"/>
|
||||
<path class="fil5" d="M136531 35516c372,-2273 1901,-4351 4182,-5950 2866,-2008 6869,-3250 11332,-3250 4463,0 8467,1242 11332,3250 2283,1599 3812,3678 4183,5952 -1946,-1064 -4045,-1918 -6240,-2544 -2954,-843 -6091,-1284 -9275,-1284 -3454,0 -6850,520 -10016,1507 -1931,601 -3776,1378 -5498,2319zm33105 8073l-32 43c94,395 173,797 237,1207 130,826 197,1636 197,2424l0 59 0 59 -1 58 0 59 -1 58 -2 59 -1 58 -2 58 -1 59 -2 58 -3 58 -2 58 -3 58c-2,39 -4,77 -6,116l-3 58 -4 58c-7,115 -15,231 -25,346 -3,38 -7,76 -10,115 -8,76 -15,152 -23,229l-7 57 -6 57c-28,247 -63,493 -102,736 -28,169 -58,337 -91,504l-11 56 -12 55 -11 56 -12 55 -12 56c-12,55 -24,110 -37,166l-12 55 -13 55 -13 55c229,44 465,67 706,67 1029,0 1960,-417 2633,-1091 674,-673 1091,-1604 1091,-2633 0,-1028 -417,-1959 -1091,-2633 -673,-674 -1604,-1090 -2633,-1090 -232,0 -459,21 -680,62zm-35141 7377l-13 -56 -13 -56 -14 -56 -12 -56 -13 -56 -13 -56 -12 -56 -12 -57 -12 -56 -11 -57 -12 -56c-7,-38 -15,-76 -22,-114l-11 -56 -11 -57 -10 -57 -10 -57 -10 -57 -10 -57c-7,-38 -13,-76 -19,-114l-9 -58 -9 -57c-6,-38 -12,-76 -18,-115l-8 -57 -8 -58 -8 -57c-5,-39 -10,-77 -15,-116 -8,-58 -15,-116 -22,-173l-6 -58c-7,-59 -13,-117 -19,-175l-6 -58c-6,-58 -11,-117 -16,-175l-5 -59c-3,-39 -6,-78 -9,-117 -3,-39 -6,-78 -9,-117 -2,-39 -5,-78 -7,-117l-4 -59c-4,-79 -8,-158 -11,-236l-2 -59c-2,-40 -3,-79 -4,-119l-2 -59c-1,-40 -2,-79 -3,-119l-1 -59 -1 -60 0 -59 -1 -60 0 -60c0,-788 68,-1598 198,-2424 64,-410 143,-812 237,-1207 -25,-34 -50,-68 -75,-102 -53,-2 -105,-3 -159,-3 -1028,0 -1959,416 -2633,1090 -673,674 -1090,1605 -1090,2633 0,1029 417,1960 1090,2633 674,674 1605,1091 2633,1091 82,0 162,-3 242,-8zm11196 3921c-4082,0 -7390,-3309 -7390,-7391 0,-1706 578,-3278 1550,-4529 -1448,-1200 -2504,-2615 -3030,-4148 1857,-1146 3914,-2071 6102,-2753 2869,-894 5962,-1365 9122,-1365 2910,0 5768,400 8451,1166 2441,697 4730,1689 6775,2950 -525,1530 -1577,2942 -3019,4140 976,1253 1558,2828 1558,4539 0,4082 -3309,7391 -7390,7391 -2710,0 -5078,-1458 -6365,-3632 -1286,2174 -3655,3632 -6364,3632zm0 -4229c-873,0 -1663,-354 -2236,-926 -572,-572 -926,-1363 -926,-2236 0,-873 354,-1663 926,-2236 573,-572 1363,-926 2236,-926 873,0 1664,354 2236,926 572,573 926,1363 926,2236 0,873 -354,1664 -926,2236 -572,572 -1363,926 -2236,926zm12729 0c-873,0 -1664,-354 -2236,-926 -572,-572 -926,-1363 -926,-2236 0,-873 354,-1663 926,-2236 572,-572 1363,-926 2236,-926 873,0 1663,354 2235,926 573,573 927,1363 927,2236 0,873 -354,1664 -927,2236 -572,572 -1362,926 -2235,926zm-4644 -6754c-282,0 -538,-115 -725,-301l0 -1c-186,-186 -301,-442 -301,-725 0,-282 115,-539 301,-725l0 0c187,-186 443,-301 725,-301 283,0 539,115 725,301l1 0c186,186 301,443 301,725 0,283 -115,539 -301,725l-1 1c-186,186 -442,301 -725,301zm-3351 0c-284,0 -540,-115 -726,-301 -186,-186 -301,-442 -301,-726 0,-283 115,-539 301,-725l1 0c185,-186 442,-301 725,-301 283,0 540,115 725,301 186,185 301,442 301,725 0,283 -115,539 -301,725l0 1c-187,186 -443,301 -725,301z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 166 KiB |
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 163 KiB |
Before Width: | Height: | Size: 168 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 8.7 KiB |
BIN
img/logo.png
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 244 B |
BIN
img/navbg.jpg
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 1.2 KiB |
|
@ -3,6 +3,7 @@
|
|||
<div class="col-left">
|
||||
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
|
||||
<?php get_template_part( 'entry' ); ?>
|
||||
<?php comments_template(); ?>
|
||||
<?php endwhile; endif; ?>
|
||||
<?php get_template_part( 'nav', 'below' ); ?>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,146 @@
|
|||
<?php
|
||||
|
||||
require("cli-header.php");
|
||||
|
||||
/* fugly hardcoding */
|
||||
$sched_en=3263;
|
||||
$sched_bg=10;
|
||||
|
||||
$en = $bg = '<style type="text/css"><!--
|
||||
.lecture-description {
|
||||
display: none;
|
||||
}
|
||||
--></style><script type="text/javascript">// <![CDATA[
|
||||
jQuery( document ).ready(function($) {
|
||||
$( \'.program\' ).on( \'click\', \'.lecture-title\', function() {
|
||||
$(this).nextAll( \'.lecture-description\' ).toggle( \'slow\' );
|
||||
});
|
||||
});
|
||||
// ]]></script><div class="program">';
|
||||
|
||||
$prg = pg_query("select
|
||||
h.name as hallname,
|
||||
to_char(starts_at, 'DD FMMonth - FMDay') as dt,
|
||||
to_char(s.starts_at,'HH24:MI') as start, to_char(s.ends_at,'HH24:MI') as end,
|
||||
e.title, e.language,
|
||||
e.abstract,
|
||||
t.name as tname, t.color as tcolor,
|
||||
sp.first_name || ' ' || sp.last_name as spname
|
||||
from
|
||||
slots s join halls h on h.id=s.hall_id
|
||||
join events e on s.event_id = e.id
|
||||
join tracks t on t.id=e.track_id
|
||||
join users u on u.id=e.user_id
|
||||
join speaker_profiles sp on sp.user_id=u.id
|
||||
where
|
||||
not s.event_id is null
|
||||
order by date(s.starts_at),s.hall_id, s.starts_at
|
||||
");
|
||||
|
||||
$bgpost = array();
|
||||
$enpost = array();
|
||||
|
||||
$bgpost['ID'] = $sched_bg;
|
||||
$enpost['ID'] = $sched_en;
|
||||
|
||||
$bgpost['post_title'] = "Програма";
|
||||
$enpost['post_title'] = "Schedule";
|
||||
|
||||
$bgpost['post_name'] = "schedule";
|
||||
$enpost['post_name'] = "schedule";
|
||||
|
||||
$cdate='';
|
||||
$chall='';
|
||||
|
||||
while ($row = pg_fetch_object($prg)) {
|
||||
|
||||
if ($chall!=$row->hallname && strlen($chall)>1) {
|
||||
$bg.= "</table>\n";
|
||||
$en.= "</table>\n";
|
||||
}
|
||||
|
||||
if ($cdate!=$row->dt) {
|
||||
$cdate = $row->dt;
|
||||
$bg.= "<h2>$cdate</h2>\n";
|
||||
$en.= "<h2>$cdate</h2>\n";
|
||||
}
|
||||
|
||||
if ($chall!=$row->hallname) {
|
||||
$chall = $row->hallname;
|
||||
echo pll_translate_string($chall, 'en_US')."\n";
|
||||
$en.= "<table><caption>".pll_translate_string($chall, 'en')." Hall</caption><tbody>";
|
||||
$bg.= "<table><caption>Зала ".pll_translate_string($chall,'bg')."</caption><tbody>";
|
||||
}
|
||||
|
||||
|
||||
|
||||
$bg .= '<tr><td class="time">'.$row->start.' - '.$row->end.'</td>';
|
||||
$bg .= '<td><span class="lecture-title"><a href="javascript: void0">'.htmlentities($row->title).'</a></span><br/>';
|
||||
$bg .= '<a class="vt-p" href="/bg/schedule-3/speakers/#'.htmlentities($row->spname).'">'.htmlentities($row->spname).'</a><br/>';
|
||||
$bg .= '<font color="#'.$row->tcolor.'">'.$row->tname.'</font>';
|
||||
$bg .= '<div class="lecture-description">'.htmlentities($row->abstract).'</div></td></tr>';
|
||||
|
||||
$en .= '<tr><td class="time">'.$row->start.' - '.$row->end.'</td>';
|
||||
$en .= '<td><span class="lecture-title"><a href="javascript: void0">'.htmlentities($row->title).'</a></span><br/>';
|
||||
$en .= '<a class="vt-p" href="/en/schedule/speakers/#'.htmlentities($row->spname).'">'.htmlentities($row->spname).'</a><br/>';
|
||||
$en .= '<font color="#'.$row->tcolor.'">'.$row->tname.'</font>';
|
||||
$en .= '<div class="lecture-description">'.htmlentities($row->abstract).'</div></td></tr>';
|
||||
/*
|
||||
<tr>
|
||||
<td class="time">10:15 – 11:00</td>
|
||||
<td><span class="lecture-title"><a href="javascript: void0">Open-source hardware от България</a></span>
|
||||
<a class="vt-p" href="/lecturers/#tzvetan">Цветан Узунов</a>
|
||||
<div class="lecture-description">Какво е OSHW (Open Source Hardware)?
|
||||
Какви са приликите и разликите между OSHW и FOSS?
|
||||
Може ли да се прави бизнес с OSHW?
|
||||
Кога да правим и кога да не правим OSHW?
|
||||
OLinuXino boards roadmap.
|
||||
Olimex's Arduino boards roadmap.</div></td>
|
||||
</tr>
|
||||
*/
|
||||
|
||||
}
|
||||
$bg.= "</table></div>\n";
|
||||
$en.= "</table></div>\n";
|
||||
|
||||
|
||||
$bgpost['post_content'] = $bg;
|
||||
$enpost['post_content'] = $en;
|
||||
|
||||
$bgpost['post_content_filtered'] = $bg;
|
||||
$enpost['post_content_filtered'] = $en;
|
||||
|
||||
$bgpost['post_status'] = 'publish';
|
||||
$enpost['post_status'] = 'publish';
|
||||
|
||||
$bgpost['post_type'] = 'page';
|
||||
$enpost['post_type'] = 'page';
|
||||
|
||||
$bgpost['filter'] = true;
|
||||
$enpost['filter'] = true;
|
||||
|
||||
kses_remove_filters();
|
||||
|
||||
wp_insert_post($bgpost);
|
||||
wp_insert_post($enpost);
|
||||
|
||||
/*
|
||||
$newpost = array();
|
||||
$newpost['post_type'] = 'speakers';
|
||||
$newpost['post_status'] = 'publish';
|
||||
$newpost['post_title'] = $row->first_name." ".$row->last_name;
|
||||
$newpost['post_content'] = $row->biography;
|
||||
$newpost['post_excerpt'] = $row->biography;
|
||||
|
||||
$postid=wp_insert_post($newpost);
|
||||
$url = 'https://cfp.openfest.org/uploads/speaker_profile/picture/'.$row->id.'/schedule_'.$row->picture;
|
||||
echo $url."\n";
|
||||
$att = media_sideload_image($url, $postid, "photo_spk_".$row->user_id);
|
||||
preg_match("%src='(http://[^']*)'%", $att, $matches);
|
||||
var_dump($matches);
|
||||
$wpurl = $matches[1];
|
||||
$attid = pn_get_attachment_id_from_url($wpurl);
|
||||
add_post_meta($postid, '_thumbnail_id', $attid);
|
||||
pll_set_post_language($postid, 'bg');
|
||||
}*/
|
||||
|
|
@ -0,0 +1,195 @@
|
|||
<?php
|
||||
|
||||
require("cli-header.php");
|
||||
|
||||
/* fugly hardcoding */
|
||||
$sched_en=3263;
|
||||
$sched_bg=10;
|
||||
/*
|
||||
$sched_en=3942;
|
||||
$sched_bg=3940;*/
|
||||
|
||||
$bg = '<section class="content"> <table cellpadding="0" cellspacing="0" class="schedule"><tr><th> </th><th>Зала София</th><th>Зала Варна</th><th>Зала G1</th></tr>';
|
||||
$en = '<section class="content"> <table cellpadding="0" cellspacing="0" class="schedule"><tr><th> </th><th>Sofia Hall</th><th>Varna Hall</th><th>Hall G1</th></tr>';
|
||||
|
||||
$tracks=array(8 => 'open-biz', 9 => 'open-art', 2 => 'technical', 6 => 'civic', 5 => 'social', 3 => 'advanced-technical');
|
||||
|
||||
$prg = pg_query("select
|
||||
h.name as hallname,h.id as hallid,
|
||||
to_char(starts_at, 'DD FMMonth - FMDay') as dt,
|
||||
to_char(s.starts_at,'HH24:MI')|| ' - ' || to_char(s.ends_at,'HH24:MI') as slot,
|
||||
e.title, e.subtitle, e.language, e.id as eventid,
|
||||
e.abstract, e.description,
|
||||
t.name as tname,t.id as trackid,
|
||||
array_agg(sp.first_name || ' ' || sp.last_name)::text as spname
|
||||
from
|
||||
slots s join halls h on h.id=s.hall_id
|
||||
join events e on s.event_id = e.id
|
||||
join tracks t on t.id=e.track_id
|
||||
left join events_speaker_profiles esp on esp.event_id=e.id
|
||||
left join speaker_profiles sp on esp.speaker_profile_id=sp.id
|
||||
where
|
||||
not s.event_id is null and h.id in (1,2,3)
|
||||
group by h.name, h.id, starts_at, ends_at, t.id, e.title, e.subtitle, e.language, e.id, s.hall_id
|
||||
order by date(s.starts_at),s.starts_at, s.hall_id;
|
||||
");
|
||||
|
||||
|
||||
$dtrans = array('01 November - Saturday' => '01 ноември - събота', '02 November - Sunday' => '02 ноември - неделя');
|
||||
|
||||
$p = array();
|
||||
while ($row = pg_fetch_object($prg)) {
|
||||
$p[$row->dt][$row->slot][$row->hallname]=$row;
|
||||
}
|
||||
|
||||
|
||||
$bgpost = array();
|
||||
$enpost = array();
|
||||
|
||||
$bgpost['ID'] = $sched_bg;
|
||||
$enpost['ID'] = $sched_en;
|
||||
|
||||
$bgpost['post_title'] = "Програма";
|
||||
$enpost['post_title'] = "Schedule";
|
||||
|
||||
$bgpost['post_name'] = "programa";
|
||||
$enpost['post_name'] = "schedule";
|
||||
|
||||
$bgpost['post_author'] = 2;
|
||||
$enpost['post_author'] = 2;
|
||||
|
||||
$bgpost['post_date'] = "2014-10-13 00:01:02";
|
||||
$enpost['post_date'] = "2014-10-13 00:01:02";
|
||||
|
||||
$cdate='';
|
||||
$chall='';
|
||||
|
||||
|
||||
$clearsmb=array('{', '}', '"');
|
||||
|
||||
$events = array();
|
||||
|
||||
foreach ($p as $day => $dayv) {
|
||||
$bg .='<tr><td class="schedule-day">'.$dtrans[$day].'</td><td colspan="4" class="schedule-empty"></td></tr>'."\n";
|
||||
$en .='<tr><td class="schedule-day">'.$day.'</td><td colspan="4" class="schedule-empty"></td></tr>'."\n";
|
||||
foreach ($dayv as $slot => $slotv) {
|
||||
$bg .= '<tr><td>'.$slot.'</td>'."\n";
|
||||
$en .= '<tr><td>'.$slot.'</td>'."\n";
|
||||
$h=0;
|
||||
foreach ($slotv as $hall => $event){
|
||||
$h++;
|
||||
while ($h < $event->hallid) {
|
||||
$h++;
|
||||
$bg .= "<td></td>\n";
|
||||
$en .= "<td></td>\n";
|
||||
}
|
||||
|
||||
$spkarr = explode(',', str_replace($clearsmb, '' ,$event->spname));
|
||||
$spkbgarr = array();
|
||||
$spkenarr = array();
|
||||
foreach ($spkarr as $val){
|
||||
if ($val == "NULL") continue;
|
||||
$spkbgarr[] = '<a class="vt-p" href="/bg/programa/speakers/#'.htmlentities($val).'">'.htmlentities($val).'</a>';
|
||||
$spkenarr[] = '<a class="vt-p" href="/en/schedule/speakers/#'.htmlentities($val).'">'.htmlentities($val).'</a>';
|
||||
}
|
||||
$spkbg = implode(", ", $spkbgarr);
|
||||
$spken = implode(", ", $spkenarr);
|
||||
|
||||
if (count($spkbgarr)>0) {
|
||||
$event->spken = '('.$spken.')';
|
||||
$event->spkbg = '('.$spkbg.')';
|
||||
} else {
|
||||
$event->spken = '';
|
||||
$event->spkbg = '';
|
||||
}
|
||||
|
||||
$events[] = $event;
|
||||
|
||||
$bg .= '<td class="schedule-'.$tracks[$event->trackid].' schedule-'.$event->language.'"><a href="#lecture-'.$event->eventid.'">'.htmlentities($event->title).'</a>';
|
||||
$bg .='<br>'.$spkbg.'</td>'."\n";
|
||||
|
||||
$en .= '<td class="schedule-'.$tracks[$event->trackid].' schedule-'.$event->language.'"><a href="#lecture-'.$event->eventid.'">'.htmlentities($event->title).'</a>';
|
||||
$en .='<br>'.$spken.'</td>'."\n";
|
||||
|
||||
#var_dump($event);
|
||||
|
||||
}
|
||||
while ($h < 3) {
|
||||
$h++;
|
||||
$bg .= "<td></td>\n";
|
||||
$en .= "<td></td>\n";
|
||||
}
|
||||
$bg .= '</tr>'."\n";
|
||||
$en .= '</tr>'."\n";
|
||||
}
|
||||
}
|
||||
|
||||
$bg .= '</table>';
|
||||
$en .= '</table>';
|
||||
$legend = '<!-- legend -->
|
||||
<table cllpadding="0" cellspacing="0" class="schedule schedule-legend">
|
||||
<tr><td class="schedule-technical">Technical</td></tr>
|
||||
<tr><td class="schedule-advanced-technical">Advanced technical</td></tr>
|
||||
<tr><td class="schedule-social">Social</td></tr>
|
||||
<tr><td class="schedule-open-art">Open art</td></tr>
|
||||
<tr><td class="schedule-open-biz">Open biz</td></tr>
|
||||
<tr><td class="schedule-civic">Civic hacking</td></tr>
|
||||
<tr><td class="schedule-misc">Misc</td></tr>
|
||||
<tr><td class="schedule-en">English</td></tr>
|
||||
<tr><td class="schedule-bg">Български</td></tr>
|
||||
</table>';
|
||||
$bg .= $legend;
|
||||
$en .= $legend;
|
||||
|
||||
|
||||
$bg .= '<div class="separator"></div>';
|
||||
$en .= '<div class="separator"></div>';
|
||||
|
||||
|
||||
|
||||
foreach ($events as $k => $event) {
|
||||
if ($event->spkbg=='') continue;
|
||||
$bg .= '<section id="lecture-'.$event->eventid.'">';
|
||||
$bg .= '<p><strong> '.$event->title.' '.$event->spkbg.'</strong><p>';
|
||||
if (strlen($event->subtitle)>2) $bg .= '<p><small>'.htmlentities($event->subtitle).'</small></p>';
|
||||
$bg .= '<p>'.htmlentities($event->abstract).'</p>';
|
||||
# $bg .= '<p>'.htmlentities($event->description).'</p>';
|
||||
$bg .= "</section>";
|
||||
|
||||
$bg .= '<div class="separator"></div>';
|
||||
|
||||
$en .= '<section id="lecture-'.$event->eventid.'">';
|
||||
$en .= '<p><strong> '.$event->title.' '.$event->spken.'</strong><p>';
|
||||
if (strlen($event->subtitle)>2) $en .= '<p><small>'.htmlentities($event->subtitle).'</small></p>';
|
||||
$en .= '<p>'.htmlentities($event->abstract).'</p>';
|
||||
# $en .= '<p>'.htmlentities($event->description).'</p>';
|
||||
$en .= "</section>";
|
||||
|
||||
$en .= '<div class="separator"></div>';
|
||||
|
||||
};
|
||||
$bg .= '</section>';
|
||||
$en .= '</section>';
|
||||
|
||||
|
||||
$bgpost['post_content'] = $bg;
|
||||
$enpost['post_content'] = $en;
|
||||
|
||||
$bgpost['post_content_filtered'] = $bg;
|
||||
$enpost['post_content_filtered'] = $en;
|
||||
|
||||
$bgpost['post_status'] = 'publish';
|
||||
$enpost['post_status'] = 'publish';
|
||||
|
||||
$bgpost['post_type'] = 'page';
|
||||
$enpost['post_type'] = 'page';
|
||||
|
||||
$bgpost['filter'] = true;
|
||||
$enpost['filter'] = true;
|
||||
|
||||
kses_remove_filters();
|
||||
|
||||
wp_insert_post($bgpost);
|
||||
wp_insert_post($enpost);
|
||||
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
|
||||
require("cli-header.php");
|
||||
|
||||
foreach ( array('en', 'bg') as $lang) {
|
||||
$speakers_args = array( 'post_type' => 'speakers','lang' => $lang, 'nopaging' => 'true');
|
||||
$speakers = new WP_Query( $speakers_args );
|
||||
|
||||
$result = $speakers->get_posts();
|
||||
# var_dump($result);
|
||||
|
||||
foreach ($result as $k=>$v) {
|
||||
$args = array(
|
||||
'post_parent' => $v->id,
|
||||
'post_type' => 'attachment',
|
||||
'posts_per_page' => -1,
|
||||
'post_status' => 'any' );
|
||||
|
||||
$chld = get_children($args);
|
||||
foreach ($chld as $k => $att) {
|
||||
if (preg_match('/^photo_spk/', $att->post_name))
|
||||
wp_delete_post($att->ID, true);
|
||||
}
|
||||
wp_delete_post($v->ID, true);
|
||||
}
|
||||
}
|
||||
|
||||
$spk = pg_query("select
|
||||
distinct sp.user_id, sp.id, sp.first_name, sp.last_name, e.language, picture, biography, github, twitter, public_email
|
||||
from
|
||||
speaker_profiles sp join events_speaker_profiles esp on sp.id=esp.speaker_profile_id
|
||||
join events e on esp.event_id=e.id
|
||||
where e.state=1
|
||||
order by sp.first_name, sp.last_name;
|
||||
");
|
||||
|
||||
while ($row = pg_fetch_object($spk)) {
|
||||
$newpost = array();
|
||||
$newpost['post_type'] = 'speakers';
|
||||
$newpost['post_status'] = 'publish';
|
||||
$newpost['post_title'] = $row->first_name." ".$row->last_name;
|
||||
$newpost['post_content'] = $row->biography;
|
||||
$newpost['post_excerpt'] = $row->biography;
|
||||
|
||||
$postid=wp_insert_post($newpost);
|
||||
$url = 'https://cfp.openfest.org/uploads/speaker_profile/picture/'.$row->id.'/schedule_'.$row->picture;
|
||||
echo $url."\n";
|
||||
$att = media_sideload_image($url, $postid, "photo_spk_bg_".$row->user_id);
|
||||
preg_match("%src='(http://[^']*)'%", $att, $matches);
|
||||
$wpurl = $matches[1];
|
||||
$attid = pn_get_attachment_id_from_url($wpurl);
|
||||
add_post_meta($postid, '_thumbnail_id', $attid);
|
||||
pll_set_post_language($postid, 'bg');
|
||||
|
||||
$postid_en=wp_insert_post($newpost);
|
||||
$url = 'https://cfp.openfest.org/uploads/speaker_profile/picture/'.$row->id.'/schedule_'.$row->picture;
|
||||
echo $url."\n";
|
||||
$att = media_sideload_image($url, $postid_en, "photo_spk_en_".$row->user_id);
|
||||
preg_match("%src='(http://[^']*)'%", $att, $matches);
|
||||
$wpurl = $matches[1];
|
||||
$attid = pn_get_attachment_id_from_url($wpurl);
|
||||
add_post_meta($postid_en, '_thumbnail_id', $attid);
|
||||
pll_set_post_language($postid_en, 'en');
|
||||
|
||||
foreach (array($postid, $postid_en) as $v) {
|
||||
if (strlen($row->github)>1) add_post_meta ($v, 'github', $row->github);
|
||||
if (strlen($row->twitter)>1) add_post_meta ($v, 'twitter', $row->twitter);
|
||||
if (strlen($row->public_email)>1) add_post_meta ($v, 'public_email', $row->public_email);
|
||||
}
|
||||
|
||||
pll_save_post_translations(array($postid => 'bg', $postid_en => '$en'));
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,195 @@
|
|||
<?php
|
||||
|
||||
require("cli-header.php");
|
||||
|
||||
/* fugly hardcoding */
|
||||
$sched_en=5650;
|
||||
$sched_bg=5648;
|
||||
/*
|
||||
$sched_en=3942;
|
||||
$sched_bg=3940;*/
|
||||
|
||||
$bg = '<section class="content"> <table cellpadding="0" cellspacing="0" class="schedule"><tr><th> </th><th>Зала Пловдив</th><th>Зала Бургас</th></tr>';
|
||||
$en = '<section class="content"> <table cellpadding="0" cellspacing="0" class="schedule"><tr><th> </th><th>Plovdiv Hall</th><th>Burgas Hall</th></tr>';
|
||||
|
||||
$tracks=array(8 => 'open-biz', 9 => 'open-art', 2 => 'technical', 6 => 'civic', 5 => 'social', 3 => 'advanced-technical');
|
||||
|
||||
$prg = pg_query("select
|
||||
h.name as hallname,h.id as hallid,
|
||||
to_char(starts_at, 'DD FMMonth - FMDay') as dt,
|
||||
to_char(s.starts_at,'HH24:MI')|| ' - ' || to_char(s.ends_at,'HH24:MI') as slot,
|
||||
e.title, e.subtitle, e.language, e.id as eventid,
|
||||
e.abstract, e.description,
|
||||
t.name as tname,t.id as trackid,
|
||||
array_agg(sp.first_name || ' ' || sp.last_name)::text as spname
|
||||
from
|
||||
slots s join halls h on h.id=s.hall_id
|
||||
join events e on s.event_id = e.id
|
||||
join tracks t on t.id=e.track_id
|
||||
left join events_speaker_profiles esp on esp.event_id=e.id
|
||||
left join speaker_profiles sp on esp.speaker_profile_id=sp.id
|
||||
where
|
||||
not s.event_id is null and h.id in (4,5)
|
||||
group by h.name, h.id, starts_at, ends_at, t.id, e.title, e.subtitle, e.language, e.id, s.hall_id
|
||||
order by date(s.starts_at),s.starts_at, s.hall_id;
|
||||
");
|
||||
|
||||
|
||||
$dtrans = array('01 November - Saturday' => '01 ноември - събота', '02 November - Sunday' => '02 ноември - неделя');
|
||||
|
||||
$p = array();
|
||||
while ($row = pg_fetch_object($prg)) {
|
||||
$p[$row->dt][$row->slot][$row->hallname]=$row;
|
||||
}
|
||||
|
||||
|
||||
$bgpost = array();
|
||||
$enpost = array();
|
||||
|
||||
$bgpost['ID'] = $sched_bg;
|
||||
$enpost['ID'] = $sched_en;
|
||||
|
||||
$bgpost['post_title'] = "Workshop-и";
|
||||
$enpost['post_title'] = "Workshops";
|
||||
|
||||
$bgpost['post_name'] = "workshopsbg";
|
||||
$enpost['post_name'] = "workshops";
|
||||
|
||||
$bgpost['post_author'] = 2;
|
||||
$enpost['post_author'] = 2;
|
||||
|
||||
$bgpost['post_date'] = "2014-10-13 00:01:02";
|
||||
$enpost['post_date'] = "2014-10-13 00:01:02";
|
||||
|
||||
$cdate='';
|
||||
$chall='';
|
||||
|
||||
|
||||
$clearsmb=array('{', '}', '"');
|
||||
|
||||
$events = array();
|
||||
|
||||
foreach ($p as $day => $dayv) {
|
||||
$bg .='<tr><td class="schedule-day">'.$dtrans[$day].'</td><td colspan="4" class="schedule-empty"></td></tr>'."\n";
|
||||
$en .='<tr><td class="schedule-day">'.$day.'</td><td colspan="4" class="schedule-empty"></td></tr>'."\n";
|
||||
foreach ($dayv as $slot => $slotv) {
|
||||
$bg .= '<tr><td>'.$slot.'</td>'."\n";
|
||||
$en .= '<tr><td>'.$slot.'</td>'."\n";
|
||||
$h=0;
|
||||
foreach ($slotv as $hall => $event){
|
||||
$h++;
|
||||
while ($h+3 < $event->hallid) {
|
||||
$h++;
|
||||
$bg .= "<td></td>\n";
|
||||
$en .= "<td></td>\n";
|
||||
}
|
||||
|
||||
$spkarr = explode(',', str_replace($clearsmb, '' ,$event->spname));
|
||||
$spkbgarr = array();
|
||||
$spkenarr = array();
|
||||
foreach ($spkarr as $val){
|
||||
if ($val == 'NULL') continue;
|
||||
$spkbgarr[] = '<a class="vt-p" href="/bg/programa/speakers/#'.htmlentities($val).'">'.htmlentities($val).'</a>';
|
||||
$spkenarr[] = '<a class="vt-p" href="/en/schedule/speakers/#'.htmlentities($val).'">'.htmlentities($val).'</a>';
|
||||
}
|
||||
$spkbg = implode(", ", $spkbgarr);
|
||||
$spken = implode(", ", $spkenarr);
|
||||
|
||||
if (count($spkbgarr)>0) {
|
||||
$event->spken = '('.$spken.')';
|
||||
$event->spkbg = '('.$spkbg.')';
|
||||
} else {
|
||||
$event->spken = '';
|
||||
$event->spkbg = '';
|
||||
}
|
||||
|
||||
$events[] = $event;
|
||||
|
||||
$bg .= '<td class="schedule-'.$tracks[$event->trackid].' schedule-'.$event->language.'"><a href="#lecture-'.$event->eventid.'">'.htmlentities($event->title).'</a>';
|
||||
$bg .='<br>'.$spkbg.'</td>'."\n";
|
||||
|
||||
$en .= '<td class="schedule-'.$tracks[$event->trackid].' schedule-'.$event->language.'"><a href="#lecture-'.$event->eventid.'">'.htmlentities($event->title).'</a>';
|
||||
$en .='<br>'.$spken.'</td>'."\n";
|
||||
|
||||
#var_dump($event);
|
||||
|
||||
}
|
||||
while ($h < 2) {
|
||||
$h++;
|
||||
$bg .= "<td></td>\n";
|
||||
$en .= "<td></td>\n";
|
||||
}
|
||||
$bg .= '</tr>'."\n";
|
||||
$en .= '</tr>'."\n";
|
||||
}
|
||||
}
|
||||
|
||||
$bg .= '</table>';
|
||||
$en .= '</table>';
|
||||
$legend = '<!-- legend -->
|
||||
<table cllpadding="0" cellspacing="0" class="schedule schedule-legend">
|
||||
<tr><td class="schedule-technical">Technical</td></tr>
|
||||
<tr><td class="schedule-advanced-technical">Advanced technical</td></tr>
|
||||
<tr><td class="schedule-social">Social</td></tr>
|
||||
<tr><td class="schedule-open-art">Open art</td></tr>
|
||||
<tr><td class="schedule-open-biz">Open biz</td></tr>
|
||||
<tr><td class="schedule-civic">Civic hacking</td></tr>
|
||||
<tr><td class="schedule-misc">Misc</td></tr>
|
||||
<tr><td class="schedule-en">English</td></tr>
|
||||
<tr><td class="schedule-bg">Български</td></tr>
|
||||
</table>';
|
||||
$bg .= $legend;
|
||||
$en .= $legend;
|
||||
|
||||
|
||||
$bg .= '<div class="separator"></div>';
|
||||
$en .= '<div class="separator"></div>';
|
||||
|
||||
|
||||
|
||||
foreach ($events as $k => $event) {
|
||||
if ($event->spkbg=='') continue;
|
||||
$bg .= '<section id="lecture-'.$event->eventid.'">';
|
||||
$bg .= '<p><strong> '.$event->title.' '.$event->spkbg.'</strong><p>';
|
||||
if (strlen($event->subtitle)>2) $bg .= '<p><small>'.htmlentities($event->subtitle).'</small></p>';
|
||||
$bg .= '<p>'.htmlentities($event->abstract).'</p>';
|
||||
# $bg .= '<p>'.htmlentities($event->description).'</p>';
|
||||
$bg .= "</section>";
|
||||
|
||||
$bg .= '<div class="separator"></div>';
|
||||
|
||||
$en .= '<section id="lecture-'.$event->eventid.'">';
|
||||
$en .= '<p><strong> '.$event->title.' '.$event->spken.'</strong><p>';
|
||||
if (strlen($event->subtitle)>2) $en .= '<p><small>'.htmlentities($event->subtitle).'</small></p>';
|
||||
$en .= '<p>'.htmlentities($event->abstract).'</p>';
|
||||
# $en .= '<p>'.htmlentities($event->description).'</p>';
|
||||
$en .= "</section>";
|
||||
|
||||
$en .= '<div class="separator"></div>';
|
||||
|
||||
};
|
||||
$bg .= '</section>';
|
||||
$en .= '</section>';
|
||||
|
||||
|
||||
$bgpost['post_content'] = $bg;
|
||||
$enpost['post_content'] = $en;
|
||||
|
||||
$bgpost['post_content_filtered'] = $bg;
|
||||
$enpost['post_content_filtered'] = $en;
|
||||
|
||||
$bgpost['post_status'] = 'publish';
|
||||
$enpost['post_status'] = 'publish';
|
||||
|
||||
$bgpost['post_type'] = 'page';
|
||||
$enpost['post_type'] = 'page';
|
||||
|
||||
$bgpost['filter'] = true;
|
||||
$enpost['filter'] = true;
|
||||
|
||||
kses_remove_filters();
|
||||
|
||||
wp_insert_post($bgpost);
|
||||
wp_insert_post($enpost);
|
||||
|
||||
|
|
@ -1,69 +1,78 @@
|
|||
<?php
|
||||
/* Template Name: Schedule */
|
||||
get_header();
|
||||
wp_nav_menu( array( 'theme_location' => 'footer-schedule', 'container_class' => 'content subnav cf' ) );
|
||||
|
||||
require("schedule-config.php");
|
||||
$lang = pll_current_language('slug');
|
||||
|
||||
/*
|
||||
* There is no better way to get where the speakers are
|
||||
*/
|
||||
|
||||
if ('en' === $lang) {
|
||||
$s_slug = 'speakers';
|
||||
} else {
|
||||
$s_slug = 'lektori';
|
||||
}
|
||||
|
||||
$args = array(
|
||||
'name' => $s_slug,
|
||||
'post_type' => 'page',
|
||||
'numberposts' => 1
|
||||
);
|
||||
|
||||
$url = '';
|
||||
|
||||
$my_posts = get_posts($args);
|
||||
if( $my_posts ) {
|
||||
$url = get_permalink( $my_posts[0]->ID );
|
||||
}
|
||||
|
||||
$content = require __DIR__ . DIRECTORY_SEPARATOR . 'schedule' . DIRECTORY_SEPARATOR . 'parse.php';
|
||||
//var_dump($data);
|
||||
?>
|
||||
<section class="content grid">
|
||||
<?php
|
||||
function should_show_sidebar() {
|
||||
global $year, $pagename;
|
||||
|
||||
if ($year === '2021') {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (preg_match('/^full/', $pagename)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($year === '2024' && preg_match('/^workshop/', $pagename)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
// full schedule is not limited in only one column
|
||||
if (should_show_sidebar()) {
|
||||
echo '<div class="col-left">';
|
||||
}
|
||||
?>
|
||||
<div class="col-left">
|
||||
<h1><?php pll_e('Програма') ?></h1>
|
||||
|
||||
|
||||
<table cellpadding="0" cellspacing="0" style="text-align: center;" class="schedule">
|
||||
<thead>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<?php
|
||||
if (!empty($content)) {
|
||||
echo '<p><a href="https://cfp.openfest.org/api/conferences/'.$sched_config['conferenceId'].'/events.ics?locale='.$lang.'">iCalendar</a></p>';
|
||||
echo $content['schedule'];
|
||||
foreach ($content['halls'] as $hall_name) {
|
||||
?>
|
||||
|
||||
|
||||
<div class="separator"></div>
|
||||
<table cellpadding="0" cellspacing="0" style="text-align: center;" class="schedule">
|
||||
<tbody>
|
||||
<td><?php echo htmlspecialchars($hall_name[$lang]); ?></td>
|
||||
<?php
|
||||
echo $content['legend'], PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="separator"></div>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
echo $content['fulltalks'];
|
||||
echo $content['gspk'];
|
||||
echo $content['fspk'];
|
||||
} else {
|
||||
echo "TBA";
|
||||
}
|
||||
|
||||
foreach ($content['lines'] as $line) {
|
||||
echo str_replace('SPKURL', $url, $line), PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="separator"></div>
|
||||
<table cellpadding="0" cellspacing="0" class="schedule schedule-legend">
|
||||
<tbody>
|
||||
<?php
|
||||
if (should_show_sidebar()) {
|
||||
echo "</div>";
|
||||
get_sidebar();
|
||||
};
|
||||
foreach ($content['legend'] as $line) {
|
||||
echo $line, PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php
|
||||
foreach ($content['fulltalks'] as $line) {
|
||||
echo str_replace('SPKURL', $url, $line), PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php get_sidebar(); ?>
|
||||
</section>
|
||||
|
||||
<?php echo do_shortcode( '[transport]' ); ?>
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
<?php
|
||||
/* Template Name: Speakers */
|
||||
get_header();
|
||||
wp_nav_menu( array( 'theme_location' => 'footer-schedule', 'container_class' => 'content subnav cf' ) );
|
||||
|
||||
require("schedule-config.php");
|
||||
|
||||
$content = require __DIR__ . DIRECTORY_SEPARATOR . 'schedule' . DIRECTORY_SEPARATOR . 'parse.php';
|
||||
//var_dump($data);
|
||||
?>
|
||||
<section class="content grid">
|
||||
<div class="col-left">
|
||||
<h1><?php pll_e('Лектори') ?></h1>
|
||||
|
||||
<?php
|
||||
if (!empty($content)) {
|
||||
echo $content['gspk'];
|
||||
|
||||
foreach ($content['gspk'] as $line) {
|
||||
echo $line, PHP_EOL;
|
||||
}
|
||||
|
||||
?>
|
||||
<div class="separator"></div>
|
||||
<?php
|
||||
echo $content['fspk'];
|
||||
} else {
|
||||
pll_e('TBA');
|
||||
}
|
||||
foreach ($content['fspk'] as $line) {
|
||||
echo $line, PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php get_sidebar(); ?>
|
||||
|
|
|
@ -45,7 +45,7 @@ get_header(); ?>
|
|||
<?php
|
||||
|
||||
$sponsor_count++;
|
||||
if ($sponsor_count % 2 === 0) {
|
||||
if ($sponsor_count % 2 == 0) {
|
||||
?>
|
||||
</section>
|
||||
<section class="content grid sponsors-item">
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
# move this to pgconn.php
|
||||
global $pgconn;
|
||||
|
||||
$pgconn = pg_connect("host=localhost dbname=DBNAME user=USERNAME password=PASSWORD");
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
<?php
|
||||
$requirePath = __DIR__ . DIRECTORY_SEPARATOR . 'schedule' . DIRECTORY_SEPARATOR;
|
||||
require $requirePath . 'class.SmartCurl.php';
|
||||
require $requirePath . 'config.php';
|
||||
require $requirePath . 'load.php';
|
||||
require $requirePath . 'parse.php';
|
||||
|
||||
$year = get_blog_slug();
|
||||
|
||||
$sched_config = getSchedConfig($year);
|
||||
|
||||
$sched_config['lang'] = of_get_lang();
|
||||
|
||||
$data = loadData($sched_config);
|
||||
|
||||
if ( preg_match('/^workshop/', $pagename) ) {
|
||||
$sched_config['filterEventType'] = "workshop";
|
||||
} else if (!preg_match('/^full/', $pagename)) {
|
||||
$sched_config['filterEventType'] = "lecture";
|
||||
}
|
||||
$content = parseData($sched_config, $data);
|
||||
|
|
@ -12,7 +12,7 @@ class SmartCurl {
|
|||
}
|
||||
|
||||
if (!file_exists($this->cache_dir)) {
|
||||
mkdir($this->cache_dir, 0777, true);
|
||||
mkdir($this->cache_dir);
|
||||
}
|
||||
|
||||
$this->cache_index = $this->cache_dir . '.json';
|
||||
|
@ -71,27 +71,23 @@ class SmartCurl {
|
|||
}
|
||||
|
||||
if (curl_setopt($this->ch, CURLOPT_URL, $url) === false) {
|
||||
throw new Exception('set url failed: ' . $url);
|
||||
throw new Exception('set url failed');
|
||||
}
|
||||
|
||||
$cache_file = $this->cache_dir . DIRECTORY_SEPARATOR . str_replace('/', '@', $filename);
|
||||
$cache_file = $this->cache_dir . DIRECTORY_SEPARATOR . $filename;
|
||||
|
||||
$etag = array_key_exists($url, static::$etags) && file_exists($cache_file) ? static::$etags[$url] : null;
|
||||
|
||||
if (curl_setopt($this->ch, CURLOPT_HTTPHEADER, [
|
||||
'If-None-Match:' . (is_null($etag) ? '' : ' ' . $etag),
|
||||
]) === false) {
|
||||
throw new Exception('set etag failed: ' . $url);
|
||||
throw new Exception('set etag failed');
|
||||
}
|
||||
|
||||
$response = curl_exec($this->ch);
|
||||
|
||||
if ($response === false) {
|
||||
if (file_exists($cache_file)) {
|
||||
return file_get_contents($cache_file);
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//var_dump(curl_getinfo($this->ch, CURLINFO_HEADER_OUT));
|
||||
|
@ -127,6 +123,12 @@ class SmartCurl {
|
|||
$body = substr($response, $header_size);
|
||||
|
||||
if ($http_code === 200) {
|
||||
$dirname = dirname($filename);
|
||||
|
||||
if ($dirname !== '.') {
|
||||
mkdir($this->cache_dir . DIRECTORY_SEPARATOR . $dirname, 0777, true);
|
||||
}
|
||||
|
||||
file_put_contents($cache_file, $body);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,101 +0,0 @@
|
|||
<?php
|
||||
function getSchedConfig($year = 2017) {
|
||||
$globalConfig = [
|
||||
'lang' => 'bg',
|
||||
'cfp_url' => 'https://cfp.openfest.org',
|
||||
'cut_len' => 70,
|
||||
'hidden_speakers' => [4],
|
||||
'hidden_language_tracks' => [],
|
||||
];
|
||||
|
||||
$config = [
|
||||
2014 => [
|
||||
'conferenceId' => 1,
|
||||
'eventTypes' => [
|
||||
'lecture' => 1,
|
||||
'workshop' => 2,
|
||||
],
|
||||
],
|
||||
2015 => [
|
||||
'conferenceId' => 2,
|
||||
'eventTypes' => [
|
||||
'lecture' => 3,
|
||||
'workshop' => 4,
|
||||
],
|
||||
'hidden_language_tracks' => [16],
|
||||
],
|
||||
2016 => [
|
||||
'conferenceId' => 3,
|
||||
'eventTypes' => [
|
||||
'lecture' => 5,
|
||||
'workshop' => 6,
|
||||
],
|
||||
'hidden_language_tracks' => [25],
|
||||
],
|
||||
2017 => [
|
||||
'conferenceId' => 4,
|
||||
'eventTypes' => [
|
||||
'lecture' => 7,
|
||||
'workshop' => 8,
|
||||
],
|
||||
'hidden_language_tracks' => [34],
|
||||
],
|
||||
2018 => [
|
||||
'conferenceId' => 5,
|
||||
'eventTypes' => [
|
||||
'lecture' => 10,
|
||||
'workshop' => 9,
|
||||
],
|
||||
'hidden_language_tracks' => [42],
|
||||
],
|
||||
2019 => [
|
||||
'conferenceId' => 6,
|
||||
'eventTypes' => [
|
||||
'lecture' => 12,
|
||||
'workshop' => 11,
|
||||
],
|
||||
'hidden_language_tracks' => [50],
|
||||
],
|
||||
2020 => [
|
||||
'conferenceId' => 7,
|
||||
'eventTypes' => [
|
||||
'lecture' => 14,
|
||||
],
|
||||
'hidden_language_tracks' => [59],
|
||||
],
|
||||
2021 => [
|
||||
'conferenceId' => 8,
|
||||
'eventTypes' => [
|
||||
'lecture' => 16,
|
||||
'workshop' => 15,
|
||||
],
|
||||
'hidden_language_tracks' => [66],
|
||||
],
|
||||
2022 => [
|
||||
'conferenceId' => 9,
|
||||
'eventTypes' => [
|
||||
'lecture' => 18,
|
||||
'workshop' => 17,
|
||||
],
|
||||
'hidden_language_tracks' => [73],
|
||||
],
|
||||
2023 => [
|
||||
'conferenceId' => 10,
|
||||
'eventTypes' => [
|
||||
'lecture' => 20,
|
||||
'workshop' => 19,
|
||||
],
|
||||
'hidden_language_tracks' => [78],
|
||||
],
|
||||
2024 => [
|
||||
'conferenceId' => 11,
|
||||
'eventTypes' => [
|
||||
'lecture' => 24,
|
||||
'workshop' => 23,
|
||||
],
|
||||
'hidden_language_tracks' => [83],
|
||||
],
|
||||
];
|
||||
|
||||
return array_merge($globalConfig, $config[$year]);
|
||||
}
|
|
@ -1,39 +1,49 @@
|
|||
<?php
|
||||
error_reporting(~0);
|
||||
ini_set('display_errors', 1);
|
||||
|
||||
$requirePath = __DIR__ . DIRECTORY_SEPARATOR;
|
||||
require $requirePath . 'class.SmartCurl.php';
|
||||
require $requirePath . 'config.php';
|
||||
require $requirePath . 'load.php';
|
||||
require $requirePath . 'parse.php';
|
||||
$sched_config = getSchedConfig(date('Y'));
|
||||
$data = loadData($sched_config);
|
||||
$sched_config['filterEventType'] = array_key_exists('event_type', $_GET) ? $_GET['event_type'] : null;
|
||||
$content = parseData($sched_config, $data);
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<title>Test schedule</title>
|
||||
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" type="text/css" href="http://www.openfest.org/2014/wp-content/themes/initfest/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
echo $content['schedule'];
|
||||
?>
|
||||
<div class="separator"></div>
|
||||
<table border="1">
|
||||
<tbody>
|
||||
<?php
|
||||
echo $content['legend'], PHP_EOL;
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php
|
||||
echo $content['fulltalks'];
|
||||
echo $content['gspk'];
|
||||
echo $content['fspk'];
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Test schedule</title>
|
||||
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" type="text/css" href="http://www.openfest.org/2014/wp-content/themes/initfest/style.css" />
|
||||
</head>
|
||||
<pre>
|
||||
<?php
|
||||
//header('Content-Type: text/plain; charset=utf-8');
|
||||
error_reporting(~0);
|
||||
ini_set('display_errors', 1);
|
||||
|
||||
$content = require __DIR__ . DIRECTORY_SEPARATOR . 'parse.php';
|
||||
?>
|
||||
</pre>
|
||||
<table border="1" style="text-align: center;">
|
||||
<thead>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<?php
|
||||
foreach ($content['halls'] as $hall_name) {
|
||||
?>
|
||||
<td><?php echo htmlspecialchars($hall_name); ?></td>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
foreach ($content['lines'] as $line) {
|
||||
echo $line, PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="separator"></div>
|
||||
<?php
|
||||
foreach ($content['fulltalks'] as $line) {
|
||||
echo $line, PHP_EOL;
|
||||
}
|
||||
|
||||
foreach ($content['gspk'] as $line) {
|
||||
echo $line, PHP_EOL;
|
||||
}
|
||||
|
||||
foreach ($content['fspk'] as $line) {
|
||||
echo $line, PHP_EOL;
|
||||
}
|
||||
|
|
|
@ -1,51 +0,0 @@
|
|||
<?php
|
||||
$requirePath = __DIR__ . DIRECTORY_SEPARATOR;
|
||||
require $requirePath . 'class.SmartCurl.php';
|
||||
require $requirePath . 'config.php';
|
||||
require $requirePath . 'load.php';
|
||||
require $requirePath . 'parse.php';
|
||||
|
||||
$sched_config = getSchedConfig();
|
||||
|
||||
$data = loadData($sched_config);
|
||||
|
||||
$sched_config['filterEventType'] = 'lecture';
|
||||
|
||||
$content = parseData($sched_config, $data);
|
||||
|
||||
header('Content-Type:application/json; charset=utf-8');
|
||||
header('Cache-Control:max-age=0, private, must-revalidate');
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
|
||||
$events = array_map(function($hallData) use ($data) {
|
||||
return array_map(function($event) use ($data) {
|
||||
unset($event['hall_id']);
|
||||
|
||||
if (!array_key_exists($event['event_id'], $data['events'])) {
|
||||
unset($event['event_id']);
|
||||
return $event;
|
||||
}
|
||||
|
||||
$eventData = &$data['events'][$event['event_id']];
|
||||
$event['title'] = $eventData['title'];
|
||||
$event['speakers'] = array_map(function($speaker_id) use ($data) {
|
||||
if (!array_key_exists($speaker_id, $data['speakers'])) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$speakerData = &$data['speakers'][$speaker_id];
|
||||
|
||||
return [
|
||||
'name' => $speakerData['first_name'] . ' ' . $speakerData['last_name'],
|
||||
'description' => $speakerData['biography'],
|
||||
];
|
||||
}, array_filter($eventData['participant_user_ids'], function($speaker_id) {
|
||||
return !in_array($speaker_id, [4]);
|
||||
}));
|
||||
|
||||
unset($event['event_id']);
|
||||
return $event;
|
||||
}, $hallData);
|
||||
}, $content['slots']);
|
||||
|
||||
echo json_encode($events);
|
|
@ -1,4 +1,57 @@
|
|||
<?php
|
||||
require __DIR__ . DIRECTORY_SEPARATOR . 'class.SmartCurl.php';
|
||||
|
||||
$base_url = 'https://cfp.openfest.org/api/conferences/2/';
|
||||
|
||||
$filenames = [
|
||||
'events' => 'events.json',
|
||||
'speakers' => 'speakers.json',
|
||||
'tracks' => 'tracks.json',
|
||||
'event_types' => 'event_types.json',
|
||||
'halls' => 'halls.json',
|
||||
'slots' => 'slots.json',
|
||||
];
|
||||
|
||||
$data = [];
|
||||
|
||||
foreach ($filenames as $name => $filename) {
|
||||
$curl = new SmartCurl($base_url);
|
||||
$json = $curl->getUrl($filename);
|
||||
|
||||
if ($json === false) {
|
||||
echo 'get failed: ', $filename, PHP_EOL;
|
||||
exit;
|
||||
}
|
||||
|
||||
$decoded = json_decode($json, true);
|
||||
|
||||
if ($decoded === false) {
|
||||
echo 'decode failed: ', $filename, PHP_EOL;
|
||||
exit;
|
||||
}
|
||||
|
||||
$add = true;
|
||||
|
||||
switch ($name) {
|
||||
case 'halls':
|
||||
$decoded = array_map(function($el) {
|
||||
return $el['name'];
|
||||
}, $decoded);
|
||||
break;
|
||||
case 'slots':
|
||||
$decoded = array_map(function($el) {
|
||||
foreach (['starts_at', 'ends_at'] as $key) {
|
||||
$el[$key] = strtotime($el[$key]);
|
||||
}
|
||||
|
||||
return $el;
|
||||
}, $decoded);
|
||||
break;
|
||||
}
|
||||
|
||||
$data[$name] = $decoded;
|
||||
}
|
||||
|
||||
function compareKeys($a, $b, $key) {
|
||||
$valA = &$a[$key];
|
||||
$valB = &$b[$key];
|
||||
|
@ -6,60 +59,10 @@ function compareKeys($a, $b, $key) {
|
|||
return ($valA < $valB) ? -1 : (($valA > $valB) ? 1 : 0);
|
||||
}
|
||||
|
||||
function loadData($config) {
|
||||
$filenames = [
|
||||
'events' => 'events.json',
|
||||
'speakers' => 'speakers.json',
|
||||
'tracks' => 'tracks.json',
|
||||
'event_types' => 'event_types.json',
|
||||
'halls' => 'halls.json',
|
||||
'slots' => 'slots.json',
|
||||
];
|
||||
uasort($data['slots'], function($a, $b) {
|
||||
return compareKeys($a, $b, 'starts_at') ?: compareKeys($a, $b, 'hall_id');
|
||||
});
|
||||
|
||||
$data = [];
|
||||
$curl = new SmartCurl($config['cfp_url'] . '/api/conferences/');
|
||||
|
||||
foreach ($filenames as $name => $filename) {
|
||||
$json = $curl->getUrl($config['conferenceId'] . '/' . $filename);
|
||||
array_pop($data['halls']);
|
||||
|
||||
if ($json === false) {
|
||||
#echo 'get failed: ', $filename, PHP_EOL;
|
||||
return false;
|
||||
exit;
|
||||
}
|
||||
|
||||
$decoded = json_decode($json, true);
|
||||
|
||||
if ($decoded === false) {
|
||||
echo 'decode failed: ', $filename, PHP_EOL;
|
||||
exit;
|
||||
}
|
||||
|
||||
$add = true;
|
||||
|
||||
switch ($name) {
|
||||
case 'halls':
|
||||
$decoded = array_map(function($el) {
|
||||
return $el['name'];
|
||||
}, $decoded);
|
||||
break;
|
||||
case 'slots':
|
||||
$decoded = array_map(function($el) {
|
||||
foreach (['starts_at', 'ends_at'] as $key) {
|
||||
$el[$key] = strtotime($el[$key]);
|
||||
}
|
||||
|
||||
return $el;
|
||||
}, $decoded);
|
||||
break;
|
||||
}
|
||||
|
||||
$data[$name] = $decoded;
|
||||
}
|
||||
|
||||
uasort($data['slots'], function($a, $b) {
|
||||
return compareKeys($a, $b, 'starts_at') ?: compareKeys($a, $b, 'hall_id');
|
||||
});
|
||||
|
||||
return $data;
|
||||
}
|
||||
return $data;
|
||||
|
|
|
@ -1,435 +1,171 @@
|
|||
<?php
|
||||
$strftimeDeprecated = version_compare(PHP_VERSION, '8.1.0', '>=');
|
||||
|
||||
if ($strftimeDeprecated) {
|
||||
require 'php-8.1-strftime.php';
|
||||
}
|
||||
|
||||
$strftime = function (...$args) {
|
||||
global $strftimeDeprecated;
|
||||
|
||||
return $strftimeDeprecated ? PHP81_BC\strftime(...$args) : \strftime(...$args);
|
||||
};
|
||||
|
||||
function parseData($config, $data) {
|
||||
global $strftime;
|
||||
|
||||
$languages = array(
|
||||
'en' => array(
|
||||
'name' => 'English',
|
||||
'locale' => 'en_US.UTF8'
|
||||
),
|
||||
'bg' => array(
|
||||
'name' => 'Български',
|
||||
'locale' => 'bg_BG.UTF8'
|
||||
)
|
||||
);
|
||||
|
||||
if ($data === false) return false;
|
||||
|
||||
$halls = $data['halls'];
|
||||
ksort($halls);
|
||||
|
||||
// We need to set these so we actually parse properly the dates. WP fucks up both.
|
||||
date_default_timezone_set('Europe/Sofia');
|
||||
setlocale(LC_TIME, $languages[$config['lang']]['locale']);
|
||||
|
||||
// Filter out invalid slots
|
||||
$data['slots'] = array_filter($data['slots'], function($slot) {
|
||||
return isset($slot['starts_at'], $slot['ends_at'], $slot['hall_id'], $slot['event_id']);
|
||||
});
|
||||
|
||||
// Collect the slots for each hall, sort them in order of starting
|
||||
$slots = [];
|
||||
$timestamps = [];
|
||||
|
||||
$filtered_type_id =
|
||||
array_key_exists('filterEventType', $config) &&
|
||||
array_key_exists($config['filterEventType'], $config['eventTypes']) ?
|
||||
$config['eventTypes'][$config['filterEventType']] :
|
||||
null;
|
||||
|
||||
foreach ($halls as $hall_id => $hall) {
|
||||
$slots[$hall_id] = [];
|
||||
|
||||
foreach ($data['slots'] as $slot_id => $slot) {
|
||||
if ($slot['hall_id'] !== $hall_id) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$eid = $slot['event_id'];
|
||||
$etype = $data['events'][$eid]['event_type_id'];
|
||||
if ($etype !== $filtered_type_id && !is_null($filtered_type_id)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!in_array($slot['starts_at'], $timestamps)) {
|
||||
$timestamps[] = $slot['starts_at'];
|
||||
}
|
||||
|
||||
if (!in_array($slot['ends_at'], $timestamps)) {
|
||||
$timestamps[] = $slot['ends_at'];
|
||||
}
|
||||
|
||||
$slots[$hall_id][$slot['starts_at']] = $slot;
|
||||
}
|
||||
ksort($slots[$hall_id]);
|
||||
if (empty($slots[$hall_id])) unset($slots[$hall_id]);
|
||||
}
|
||||
|
||||
sort($timestamps);
|
||||
|
||||
// Find all microslots (the smallest time unit)
|
||||
$microslots = [];
|
||||
$lastTs = 0;
|
||||
$first = true;
|
||||
|
||||
foreach ($timestamps as $ts) {
|
||||
if ($first) {
|
||||
$lastTs = $ts;
|
||||
$first = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (date('d.m', $lastTs) !== date('d.m', $ts)) {
|
||||
$lastTs = $ts;
|
||||
continue;
|
||||
}
|
||||
|
||||
$microslots[] = [$lastTs, $ts];
|
||||
$lastTs = $ts;
|
||||
}
|
||||
// Fill in the event ID for each time slot in each hall
|
||||
$events = [];
|
||||
|
||||
foreach ($halls as $hall_id => $hall) {
|
||||
$hall_data = [];
|
||||
|
||||
foreach ($microslots as $timestamps) {
|
||||
$found = false;
|
||||
|
||||
foreach ($data['slots'] as $slot_id => $slot) {
|
||||
if (
|
||||
$slot['hall_id'] === $hall_id &&
|
||||
$slot['starts_at'] <= $timestamps[0] &&
|
||||
$slot['ends_at'] >= $timestamps[1] &&
|
||||
array_key_exists($slot['event_id'], $data['events'])
|
||||
) {
|
||||
if (!is_null($filtered_type_id)) {
|
||||
if ($data['events'][$slot['event_id']]['event_type_id'] !== $filtered_type_id) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
$found = true;
|
||||
$hall_data[] = [
|
||||
'event_id' => $slot['event_id'],
|
||||
'hall_id' => $slot['hall_id'],
|
||||
'edge' => $slot['starts_at'] === $timestamps[0] || $slot['ends_at'] === $timestamps[1],
|
||||
];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$found) {
|
||||
$hall_data[] = null;
|
||||
}
|
||||
}
|
||||
|
||||
$events[$hall_id] = $hall_data;
|
||||
}
|
||||
// Remove halls with no events after filtering
|
||||
foreach ($events as $i => $event) {
|
||||
$hasEvents = false;
|
||||
foreach ($event as $event_info) {
|
||||
if (!is_null($event_info)) {
|
||||
$hasEvents = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!$hasEvents) {
|
||||
unset($events[$i]);
|
||||
}
|
||||
}
|
||||
|
||||
// Transpose the matrix
|
||||
// rows->halls, cols->timeslots ===> rows->timeslots, cols->halls
|
||||
$events = array_map(null, ...$events);
|
||||
|
||||
// Filter empty slots
|
||||
foreach($events as $i => $event) {
|
||||
$hall_count = count($event);
|
||||
$hasEvents = false;
|
||||
|
||||
for ($j = 0; $j < $hall_count; ++$j) {
|
||||
if (!is_null($event[$j]) && $event[$j]['edge']) {
|
||||
$hasEvents = true;
|
||||
continue 2;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$hasEvents) {
|
||||
unset($events[$i]);
|
||||
}
|
||||
}
|
||||
|
||||
// Merge events longer than one slot
|
||||
$prevEventId = [];
|
||||
$prevEventSlot = [];
|
||||
$prevSlotIndex = 0;
|
||||
$first = true;
|
||||
|
||||
foreach ($events as $slot_index => &$events_data) {
|
||||
if ($first) {
|
||||
$prevEventId = array_map(function($event_info) {
|
||||
return is_null($event_info) ? null : $event_info['event_id'];
|
||||
}, $events_data);
|
||||
$prevEventSlot = array_fill(0, count($events_data), null);
|
||||
$prevSlotIndex = $slot_index;
|
||||
$first = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach ($events_data as $hall_index => &$event_info) {
|
||||
if (is_null($event_info)) {
|
||||
$prevEventId[$hall_index] = null;
|
||||
$prevEventSlot[$hall_index] = null;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($event_info['event_id'] !== $prevEventId[$hall_index]) {
|
||||
$prevEventId[$hall_index] = $event_info['event_id'];
|
||||
$prevEventSlot[$hall_index] = null;
|
||||
continue;
|
||||
}
|
||||
|
||||
// We have a long event
|
||||
if (is_null($prevEventSlot[$hall_index])) {
|
||||
$prevEventSlot[$hall_index] = $prevSlotIndex;
|
||||
}
|
||||
|
||||
$masterSlotIndex = $prevEventSlot[$hall_index];
|
||||
|
||||
// check if the events spans on the next day
|
||||
if (date('d.m', $microslots[$slot_index][0]) !== date('d.m', $microslots[$masterSlotIndex][1])) {
|
||||
// not sure why this is needed, but it fixes things
|
||||
$prevEventSlot[$hall_index] = null;
|
||||
continue;
|
||||
}
|
||||
|
||||
$master_slot = &$events[$masterSlotIndex][$hall_index];
|
||||
|
||||
if (!array_key_exists('rowspan', $master_slot)) {
|
||||
$master_slot['rowspan'] = 2;
|
||||
}
|
||||
else {
|
||||
++$master_slot['rowspan'];
|
||||
}
|
||||
|
||||
unset($master_slot);
|
||||
|
||||
$event_info = false;
|
||||
}
|
||||
|
||||
unset($event_info);
|
||||
|
||||
$prevSlotIndex = $slot_index;
|
||||
}
|
||||
|
||||
unset($events_data);
|
||||
|
||||
// Build the HTML
|
||||
$schedule_body = '';
|
||||
$lastTs = 0;
|
||||
$fulltalks = '';
|
||||
$hall_ids = [];
|
||||
$now = time();
|
||||
|
||||
$known_events = array();
|
||||
|
||||
foreach ($events as $slot_index => $events_data) {
|
||||
$columns = [];
|
||||
|
||||
if (date('d.m', $microslots[$slot_index][0]) !== date('d.m', $lastTs)) {
|
||||
$schedule_body .= '<tr><th colspan="' . (count($events_data) + 1) . '">' . $strftime('%d %B - %A', $microslots[$slot_index][0]) . '</th></tr>';
|
||||
}
|
||||
|
||||
$lastTs = $microslots[$slot_index][0];
|
||||
$lastEventId = 0;
|
||||
$colspan = 1;
|
||||
|
||||
foreach ($events_data as $event_info) {
|
||||
if ($event_info === false) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (is_null($event_info) || is_null($event_info['event_id'])) {
|
||||
$columns[] = '<td> </td>';
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!in_array($event_info['hall_id'], $hall_ids)) {
|
||||
$hall_ids[] = $event_info['hall_id'];
|
||||
}
|
||||
|
||||
$eid = &$event_info['event_id'];
|
||||
$event = &$data['events'][$eid];
|
||||
|
||||
# var_dump($microslots[$slot_index]);
|
||||
$title = mb_substr($event['title'], 0, $config['cut_len']) . (mb_strlen($event['title']) > $config['cut_len'] ? '...' : '');
|
||||
$speakers = '';
|
||||
|
||||
if (count($event['participant_user_ids']) > 0) {
|
||||
$spk = [];
|
||||
|
||||
foreach ($event['participant_user_ids'] as $uid) {
|
||||
if (in_array($uid, $config['hidden_speakers']) || empty($data['speakers'][$uid])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$speaker = $data['speakers'][$uid];
|
||||
$name = $speaker['first_name'] . ' ' . $speaker['last_name'];
|
||||
$organisation = empty($speaker['organisation']) ? '' :
|
||||
('<br>/⁠' . $speaker['organisation'] . '⁠/');
|
||||
$spk[] = '<a class="vt-p" href="#' . $name . '">' . $name . '</a>' . $organisation;
|
||||
}
|
||||
|
||||
$speakers = implode (', ', $spk);
|
||||
}
|
||||
|
||||
if ($microslots[$slot_index][0] < $now) {
|
||||
// talk has already started. Provide feedback links
|
||||
$fullfb = '<p align=right><strong><a href="https://cfp.openfest.org/events/' . $eid . '/feedback/new">'.pll__('Submit feedback').'</a></strong></p>';
|
||||
$progfb = '<p><i><a href="https://cfp.openfest.org/events/' . $eid . '/feedback/new">'.pll__('Submit feedback').'</a></i></p>';
|
||||
} else {
|
||||
$fullfb = "";
|
||||
$progfb = "";
|
||||
}
|
||||
$content = '<a href="#lecture-' . $eid . '">' . htmlspecialchars($title) . '</a><br>' . $speakers;
|
||||
|
||||
if (!isset($known_events[$eid])) {
|
||||
//if (!in_array($data['events'][$event_info['event_id']]['track_id'], $config['hidden_language_tracks']) && !isset($known_events[$eid])) {
|
||||
$fulltalks .= '<section id="lecture-' . $eid . '">';
|
||||
|
||||
// We don't want '()' when we don't have a speaker name
|
||||
$fulltalk_spkr = strlen($speakers) > 0 ? (' (' . $speakers . ')') : '';
|
||||
$fulltalks .= '<p><strong>' . htmlentities($event['title']) . ' ' . $fulltalk_spkr . '</strong></p>';
|
||||
$fulltalks .= '<p>' . htmlentities($event['abstract']) . '</p>';
|
||||
$fulltalks .= $fullfb;
|
||||
$fulltalks .= '<div class="separator"></div></section>';
|
||||
$known_events[$eid] = $eid;
|
||||
}
|
||||
|
||||
if ($eid === $lastEventId) {
|
||||
array_pop($columns);
|
||||
++$colspan;
|
||||
}
|
||||
else {
|
||||
$colspan = 1;
|
||||
}
|
||||
|
||||
$rowspan = array_key_exists('rowspan', $event_info) ? (' rowspan="' . $event_info['rowspan'] . '"') : '';
|
||||
|
||||
// CSS
|
||||
$cssClasses = [];
|
||||
|
||||
if (!in_array($event['track_id'], $config['hidden_language_tracks'])) {
|
||||
$cssClasses[] = 'schedule-' . $event['language'];
|
||||
}
|
||||
|
||||
$cssClass = $data['tracks'][$event['track_id']]['css_class'];
|
||||
|
||||
if (strlen($cssClass) > 0) {
|
||||
$cssClasses[] = $cssClass;
|
||||
}
|
||||
|
||||
$cssClasses = count($cssClasses) > 0 ? (' class="' . implode(' ', $cssClasses) . '"') : '';
|
||||
|
||||
// Render cell
|
||||
$columns[] = '<td' . ($colspan > 1 ? ' colspan="' . $colspan . '"' : $rowspan) . $cssClasses . '>' . $content . $progfb . '</td>';
|
||||
|
||||
$lastEventId = $eid;
|
||||
unset($eid, $event);
|
||||
}
|
||||
|
||||
$schedule_body .= '<tr><td>';
|
||||
$schedule_body .= date('H:i', $microslots[$slot_index][0]) . ' - ' . date('H:i', $microslots[$slot_index][1]);
|
||||
$schedule_body .= '</td>';
|
||||
$schedule_body .= implode('', $columns);
|
||||
$schedule_body .= '</tr>';
|
||||
}
|
||||
|
||||
$schedule = '<table cellpadding="0" cellspacing="0" style="text-align: center;" class="schedule"><thead><tr><th></th>';
|
||||
|
||||
foreach ($halls as $hall_id => $hall) {
|
||||
if (!in_array($hall_id, $hall_ids)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$schedule .= '<th>' . $hall[$config['lang']] . '</th>';
|
||||
}
|
||||
|
||||
$schedule .= '</tr></thead><tbody>';
|
||||
$schedule .= $schedule_body;
|
||||
$schedule .= '</tbody></table>';
|
||||
|
||||
// Create the legend
|
||||
$legend = '';
|
||||
|
||||
foreach($data['tracks'] as $track_id => $track) {
|
||||
if ( in_array($track_id, $config['hidden_language_tracks'])) {
|
||||
continue;
|
||||
}
|
||||
$legend .= '<tr><td class="' . $track['css_class'] . '">' . $track['name'][$config['lang']] . '</td></tr>';
|
||||
}
|
||||
|
||||
foreach ($languages as $code => $lang) {
|
||||
$legend .= '<tr><td class="schedule-' . $code . '">' . $lang['name'] . '</td></tr>';
|
||||
}
|
||||
|
||||
// Speaker list
|
||||
$gspk = '<div class="grid members">';
|
||||
$fspk = '';
|
||||
$types = [
|
||||
'twitter' => [
|
||||
'class' => 'twitter',
|
||||
'url' => 'https://twitter.com/',
|
||||
],
|
||||
'github' => [
|
||||
'class' => 'github',
|
||||
'url' => 'https://github.com/',
|
||||
],
|
||||
'email' => [
|
||||
'class' => 'envelope',
|
||||
'url' => 'mailto:',
|
||||
],
|
||||
];
|
||||
|
||||
foreach ($data['speakers'] as $speaker) {
|
||||
$name = $speaker['first_name'] . ' ' . $speaker['last_name'];
|
||||
|
||||
$gspk .= '<div class="member col4">';
|
||||
$gspk .= '<a href="#' . $name . '">';
|
||||
$gspk .= '<img width="100" height="100" src="' . $speaker['picture'] . '" class="attachment-100x100 wp-post-image" alt="' . $name . '" />';
|
||||
$gspk .= '</a> </div>';
|
||||
|
||||
$fspk .= '<div class="speaker" id="' . $name . '">';
|
||||
$fspk .= '<img width="100" height="100" src="' . $speaker['picture'] . '" class="attachment-100x100 wp-post-image" alt="' . $name . '" />';
|
||||
$fspk .= '<h3>' . $name . '</h3>';
|
||||
$fspk .= '<div class="icons">';
|
||||
|
||||
foreach ($types as $type => $param) {
|
||||
if (!empty($speaker[$type])) {
|
||||
$fspk .= '<a href="' . $param['url'] . $speaker[$type] . '"><i class="fa fa-' . $param['class'] . '"></i></a>';
|
||||
}
|
||||
}
|
||||
|
||||
$fspk .= '</div>';
|
||||
$fspk .= '<p>' . htmlentities($speaker['biography']) . '</p>';
|
||||
$fspk .= '</div><div class="separator"></div>';
|
||||
}
|
||||
|
||||
$gspk .= '</div>';
|
||||
|
||||
return compact('slots', 'schedule', 'fulltalks', 'gspk', 'fspk', 'legend');
|
||||
}
|
||||
<?php
|
||||
// 'halfnarp_friendly'
|
||||
// 'events'
|
||||
// 'speakers'
|
||||
// 'tracks' [en/bg]
|
||||
// 'event_types' [en/bg]
|
||||
// 'halls'
|
||||
// 'slots'
|
||||
|
||||
$data = require __DIR__ . DIRECTORY_SEPARATOR . 'load.php';
|
||||
|
||||
/* sensible default */
|
||||
if (empty($lang)) $lang = 'bg';
|
||||
|
||||
/* no idea why do I have to write this, doesn't seem to exist in the system */
|
||||
|
||||
$languages = array('en' => array('name' => 'English', 'locale' => 'en_US.UTF8'), 'bg' => array ('name' => 'Български', 'locale' => 'bg_BG.UTF8'));
|
||||
|
||||
$cut_len = 70;
|
||||
$cfp_url = 'http://cfp.openfest.org';
|
||||
$time = 0;
|
||||
$date = 0;
|
||||
$lines = [];
|
||||
$fulltalks = [];
|
||||
$prev_event_id = 0;
|
||||
$colspan = 1;
|
||||
$hall_ids = array_keys($data['halls']);
|
||||
$first_hall_id = min($hall_ids);
|
||||
$last_hall_id = max($hall_ids);
|
||||
|
||||
/* We need to set these so we actually parse properly the dates. WP fucks up both. */
|
||||
date_default_timezone_set('Europe/Sofia');
|
||||
setlocale(LC_TIME, $languages[$lang]['locale']);
|
||||
|
||||
foreach ($data['slots'] as $slot_id => $slot) {
|
||||
$slotTime = $slot['starts_at'];
|
||||
$slotDate = date('d', $slotTime);
|
||||
|
||||
if ($slotDate !== $date) {
|
||||
/* this seems to be the easiest way to localize the date */
|
||||
$localdate = strftime('%d %B - %A' ,$slotTime);
|
||||
$lines[] = '<tr>';
|
||||
$lines[] = '<td>' . $localdate . '</td>';
|
||||
$lines[] = '<td colspan="3"> </td>';
|
||||
$lines[] = '</tr>';
|
||||
|
||||
$date = $slotDate;
|
||||
}
|
||||
|
||||
if ($slotTime !== $time) {
|
||||
if ($time !== 0) {
|
||||
$lines[] = '</tr>';
|
||||
}
|
||||
|
||||
$lines[] = '<tr>';
|
||||
$lines[] = '<td>' . date('H:i', $slot['starts_at']) . ' - ' . date('H:i', $slot['ends_at']) . '</td>';
|
||||
|
||||
$time = $slotTime;
|
||||
}
|
||||
|
||||
$eid = &$slot['event_id'];
|
||||
$event = &$data['events'][$eid];
|
||||
|
||||
if (is_null($eid)) {
|
||||
$lines[] = '<td>TBA</td>';
|
||||
}
|
||||
else {
|
||||
$title = mb_substr($event['title'], 0, $cut_len) . (mb_strlen($event['title']) > $cut_len ? '...' : '');
|
||||
$speakers = '';
|
||||
|
||||
if (count($event['participant_user_ids']) > 0) {
|
||||
$speakers = json_encode($event['participant_user_ids']) . '<br>';
|
||||
|
||||
$spk = array();
|
||||
$speaker_name = array();
|
||||
foreach ($event['participant_user_ids'] as $uid) {
|
||||
/* The check for uid==4 is for us not to show the "Opefest Team" as a presenter for lunches, etc. */
|
||||
if ($uid == 4 || empty ($data['speakers'][$uid])) {
|
||||
continue;
|
||||
} else {
|
||||
/* TODO: fix the URL */
|
||||
$name = $data['speakers'][$uid]['first_name'] . ' ' . $data['speakers'][$uid]['last_name'];
|
||||
$spk[$uid] = '<a class="vt-p" href="SPKURL#'. $name . '">' . $name . '</a>';
|
||||
}
|
||||
}
|
||||
$speakers = implode (', ', $spk);
|
||||
}
|
||||
|
||||
|
||||
/* Hack, we don't want language for the misc track. This is the same for all years. */
|
||||
if ('misc' !== $data['tracks'][$event['track_id']]['name']['en']) {
|
||||
$csslang = "schedule-".$event['language'];
|
||||
} else {
|
||||
$csslang = "";
|
||||
}
|
||||
$cssclass = &$data['tracks'][$event['track_id']]['css_class'];
|
||||
$style = ' class="' . $cssclass . ' ' . $csslang . '"';
|
||||
$content = '<a href=#lecture-' . $eid . '>' . htmlspecialchars($title) . '</a> <br>' . $speakers;
|
||||
|
||||
|
||||
/* these are done by $eid, as otherwise we get some talks more than once (for example the lunch) */
|
||||
$fulltalks[$eid] = '';
|
||||
$fulltalks[$eid] .= '<section id="lecture-' . $eid . '">';
|
||||
/* We don't want '()' when we don't have a speaker name */
|
||||
$fulltalk_spkr = strlen($speakers)>1 ? ' (' . $speakers . ')' : '';
|
||||
$fulltalks[$eid] .= '<p><strong>' . $event['title'] . ' ' . $fulltalk_spkr . '</strong>';
|
||||
$fulltalks[$eid] .= '<p>' . $event['abstract'] . '</p>';
|
||||
$fulltalks[$eid] .= '<div class="separator"></div></section>';
|
||||
|
||||
if ($slot['event_id'] === $prev_event_id) {
|
||||
array_pop($lines);
|
||||
$lines[] = '<td' . $style . ' colspan="' . ++$colspan . '">' . $content . '</td>';
|
||||
}
|
||||
else {
|
||||
$lines[] = '<td' . $style . '>' . $content . '</td>';
|
||||
$colspan = 1;
|
||||
}
|
||||
}
|
||||
|
||||
$prev_event_id = $slot['event_id'];
|
||||
}
|
||||
|
||||
$lines[] = '</tr>';
|
||||
/* create the legend */
|
||||
|
||||
$legend = [];
|
||||
|
||||
foreach($data['tracks'] as $track) {
|
||||
$legend[] = '<tr><td class="' . $track['css_class'] . '">' . $track['name'][$lang] . '</td></tr>';
|
||||
}
|
||||
foreach ($languages as $l => $n) {
|
||||
$legend[] = '<tr><td class="schedule-' . $l . '">' . $n['name'] . '</td></tr>';
|
||||
}
|
||||
|
||||
$gspk = [];
|
||||
$fspk = [];
|
||||
$types = [];
|
||||
$types['twitter']['url']='https://twitter.com/';
|
||||
$types['twitter']['class']='fa fa-twitter';
|
||||
$types['github']['url']='https://github.com/';
|
||||
$types['github']['class']='fa fa-github';
|
||||
$types['email']['url']='mailto:';
|
||||
$types['email']['class']='fa fa-envelope';
|
||||
|
||||
$gspk[] = '<div class="grid members">';
|
||||
|
||||
foreach ($data['speakers'] as $speaker) {
|
||||
$name = $speaker['first_name'] . ' ' . $speaker['last_name'];
|
||||
|
||||
$gspk[] = '<div class="member col4">';
|
||||
$gspk[] = '<a href="#' . $name . '">';
|
||||
$gspk[] = '<img width="100" height="100" src="' . $cfp_url . $speaker['picture']['schedule']['url'].'" class="attachment-100x100 wp-post-image" alt="' . $name .'" />';
|
||||
$gspk[] = '</a> </div>';
|
||||
|
||||
$fspk[] = '<div class="speaker" id="' . $name . '">';
|
||||
$fspk[] = '<img width="100" height="100" src="' . $cfp_url . $speaker['picture']['schedule']['url'].'" class="attachment-100x100 wp-post-image" alt="' . $name .'" />';
|
||||
$fspk[] = '<h3>' . $name . '</h3>';
|
||||
$fspk[] = '<div class="icons">';
|
||||
foreach ($types as $type => $parm) {
|
||||
if (!empty($speaker[$type])) {
|
||||
$fspk[] = '<a href="'. $parm['url'] . $speaker[$type] . '"><i class="' . $parm['class'] . '"></i></a>';
|
||||
}
|
||||
}
|
||||
$fspk[] = '</div>';
|
||||
$fspk[] = '<p>' . $speaker['biography'] . '</p>';
|
||||
$fspk[] = '</div><div class="separator"></div>';
|
||||
}
|
||||
|
||||
$gspk[] = '</div>';
|
||||
|
||||
return array_merge($data, compact('lines', 'fulltalks', 'gspk', 'fspk', 'legend'));
|
||||
|
|
|
@ -1,217 +0,0 @@
|
|||
<?php
|
||||
namespace PHP81_BC;
|
||||
|
||||
use DateTime;
|
||||
use DateTimeZone;
|
||||
use DateTimeInterface;
|
||||
use Exception;
|
||||
use IntlDateFormatter;
|
||||
use IntlGregorianCalendar;
|
||||
use InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Locale-formatted strftime using IntlDateFormatter (PHP 8.1 compatible)
|
||||
* This provides a cross-platform alternative to strftime() for when it will be removed from PHP.
|
||||
* Note that output can be slightly different between libc sprintf and this function as it is using ICU.
|
||||
*
|
||||
* Usage:
|
||||
* use function \PHP81_BC\strftime;
|
||||
* echo strftime('%A %e %B %Y %X', new \DateTime('2021-09-28 00:00:00'), 'fr_FR');
|
||||
*
|
||||
* Original use:
|
||||
* \setlocale(LC_TIME, 'fr_FR.UTF-8');
|
||||
* echo \strftime('%A %e %B %Y %X', strtotime('2021-09-28 00:00:00'));
|
||||
*
|
||||
* @param string $format Date format
|
||||
* @param integer|string|DateTime $timestamp Timestamp
|
||||
* @return string
|
||||
* @author BohwaZ <https://bohwaz.net/>
|
||||
*/
|
||||
function strftime (string $format, $timestamp = null, ?string $locale = null) : string {
|
||||
if (!($timestamp instanceof DateTimeInterface)) {
|
||||
$timestamp = is_int($timestamp) ? '@' . $timestamp : (string) $timestamp;
|
||||
|
||||
try {
|
||||
$timestamp = new DateTime($timestamp);
|
||||
} catch (Exception $e) {
|
||||
throw new InvalidArgumentException('$timestamp argument is neither a valid UNIX timestamp, a valid date-time string or a DateTime object.', 0, $e);
|
||||
}
|
||||
}
|
||||
|
||||
$timestamp->setTimezone(new DateTimeZone(date_default_timezone_get()));
|
||||
|
||||
if (empty($locale)) {
|
||||
// get current locale
|
||||
$locale = setlocale(LC_TIME, '0');
|
||||
}
|
||||
// remove trailing part not supported by ext-intl locale
|
||||
$locale = preg_replace('/[^\w-].*$/', '', $locale);
|
||||
|
||||
$intl_formats = [
|
||||
'%a' => 'EEE', // An abbreviated textual representation of the day Sun through Sat
|
||||
'%A' => 'EEEE', // A full textual representation of the day Sunday through Saturday
|
||||
'%b' => 'MMM', // Abbreviated month name, based on the locale Jan through Dec
|
||||
'%B' => 'MMMM', // Full month name, based on the locale January through December
|
||||
'%h' => 'MMM', // Abbreviated month name, based on the locale (an alias of %b) Jan through Dec
|
||||
];
|
||||
|
||||
$intl_formatter = function (DateTimeInterface $timestamp, string $format) use ($intl_formats, $locale) {
|
||||
$tz = $timestamp->getTimezone();
|
||||
$date_type = IntlDateFormatter::FULL;
|
||||
$time_type = IntlDateFormatter::FULL;
|
||||
$pattern = '';
|
||||
|
||||
switch ($format) {
|
||||
// %c = Preferred date and time stamp based on locale
|
||||
// Example: Tue Feb 5 00:45:10 2009 for February 5, 2009 at 12:45:10 AM
|
||||
case '%c':
|
||||
$date_type = IntlDateFormatter::LONG;
|
||||
$time_type = IntlDateFormatter::SHORT;
|
||||
break;
|
||||
|
||||
// %x = Preferred date representation based on locale, without the time
|
||||
// Example: 02/05/09 for February 5, 2009
|
||||
case '%x':
|
||||
$date_type = IntlDateFormatter::SHORT;
|
||||
$time_type = IntlDateFormatter::NONE;
|
||||
break;
|
||||
|
||||
// Localized time format
|
||||
case '%X':
|
||||
$date_type = IntlDateFormatter::NONE;
|
||||
$time_type = IntlDateFormatter::MEDIUM;
|
||||
break;
|
||||
|
||||
default:
|
||||
$pattern = $intl_formats[$format];
|
||||
}
|
||||
|
||||
// In October 1582, the Gregorian calendar replaced the Julian in much of Europe, and
|
||||
// the 4th October was followed by the 15th October.
|
||||
// ICU (including IntlDateFormattter) interprets and formats dates based on this cutover.
|
||||
// Posix (including strftime) and timelib (including DateTimeImmutable) instead use
|
||||
// a "proleptic Gregorian calendar" - they pretend the Gregorian calendar has existed forever.
|
||||
// This leads to the same instants in time, as expressed in Unix time, having different representations
|
||||
// in formatted strings.
|
||||
// To adjust for this, a custom calendar can be supplied with a cutover date arbitrarily far in the past.
|
||||
$calendar = IntlGregorianCalendar::createInstance();
|
||||
$calendar->setGregorianChange(PHP_INT_MIN);
|
||||
|
||||
return (new IntlDateFormatter($locale, $date_type, $time_type, $tz, $calendar, $pattern))->format($timestamp);
|
||||
};
|
||||
|
||||
// Same order as https://www.php.net/manual/en/function.strftime.php
|
||||
$translation_table = [
|
||||
// Day
|
||||
'%a' => $intl_formatter,
|
||||
'%A' => $intl_formatter,
|
||||
'%d' => 'd',
|
||||
'%e' => function ($timestamp) {
|
||||
return sprintf('% 2u', $timestamp->format('j'));
|
||||
},
|
||||
'%j' => function ($timestamp) {
|
||||
// Day number in year, 001 to 366
|
||||
return sprintf('%03d', $timestamp->format('z')+1);
|
||||
},
|
||||
'%u' => 'N',
|
||||
'%w' => 'w',
|
||||
|
||||
// Week
|
||||
'%U' => function ($timestamp) {
|
||||
// Number of weeks between date and first Sunday of year
|
||||
$day = new DateTime(sprintf('%d-01 Sunday', $timestamp->format('Y')));
|
||||
return sprintf('%02u', 1 + ($timestamp->format('z') - $day->format('z')) / 7);
|
||||
},
|
||||
'%V' => 'W',
|
||||
'%W' => function ($timestamp) {
|
||||
// Number of weeks between date and first Monday of year
|
||||
$day = new DateTime(sprintf('%d-01 Monday', $timestamp->format('Y')));
|
||||
return sprintf('%02u', 1 + ($timestamp->format('z') - $day->format('z')) / 7);
|
||||
},
|
||||
|
||||
// Month
|
||||
'%b' => $intl_formatter,
|
||||
'%B' => $intl_formatter,
|
||||
'%h' => $intl_formatter,
|
||||
'%m' => 'm',
|
||||
|
||||
// Year
|
||||
'%C' => function ($timestamp) {
|
||||
// Century (-1): 19 for 20th century
|
||||
return floor($timestamp->format('Y') / 100);
|
||||
},
|
||||
'%g' => function ($timestamp) {
|
||||
return substr($timestamp->format('o'), -2);
|
||||
},
|
||||
'%G' => 'o',
|
||||
'%y' => 'y',
|
||||
'%Y' => 'Y',
|
||||
|
||||
// Time
|
||||
'%H' => 'H',
|
||||
'%k' => function ($timestamp) {
|
||||
return sprintf('% 2u', $timestamp->format('G'));
|
||||
},
|
||||
'%I' => 'h',
|
||||
'%l' => function ($timestamp) {
|
||||
return sprintf('% 2u', $timestamp->format('g'));
|
||||
},
|
||||
'%M' => 'i',
|
||||
'%p' => 'A', // AM PM (this is reversed on purpose!)
|
||||
'%P' => 'a', // am pm
|
||||
'%r' => 'h:i:s A', // %I:%M:%S %p
|
||||
'%R' => 'H:i', // %H:%M
|
||||
'%S' => 's',
|
||||
'%T' => 'H:i:s', // %H:%M:%S
|
||||
'%X' => $intl_formatter, // Preferred time representation based on locale, without the date
|
||||
|
||||
// Timezone
|
||||
'%z' => 'O',
|
||||
'%Z' => 'T',
|
||||
|
||||
// Time and Date Stamps
|
||||
'%c' => $intl_formatter,
|
||||
'%D' => 'm/d/Y',
|
||||
'%F' => 'Y-m-d',
|
||||
'%s' => 'U',
|
||||
'%x' => $intl_formatter,
|
||||
];
|
||||
|
||||
$out = preg_replace_callback('/(?<!%)%([_#-]?)([a-zA-Z])/', function ($match) use ($translation_table, $timestamp) {
|
||||
$prefix = $match[1];
|
||||
$char = $match[2];
|
||||
$pattern = '%'.$char;
|
||||
if ($pattern === '%n') {
|
||||
return "\n";
|
||||
} elseif ($pattern === '%t') {
|
||||
return "\t";
|
||||
}
|
||||
|
||||
if (!isset($translation_table[$pattern])) {
|
||||
throw new InvalidArgumentException(sprintf('Format "%s" is unknown in time format', $pattern));
|
||||
}
|
||||
|
||||
$replace = $translation_table[$pattern];
|
||||
|
||||
if (is_string($replace)) {
|
||||
$result = $timestamp->format($replace);
|
||||
} else {
|
||||
$result = $replace($timestamp, $pattern);
|
||||
}
|
||||
|
||||
switch ($prefix) {
|
||||
case '_':
|
||||
// replace leading zeros with spaces but keep last char if also zero
|
||||
return preg_replace('/\G0(?=.)/', ' ', $result);
|
||||
case '#':
|
||||
case '-':
|
||||
// remove leading zeros but keep last char if also zero
|
||||
return preg_replace('/^0+(?=.)/', '', $result);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}, $format);
|
||||
|
||||
$out = str_replace('%%', '%', $out);
|
||||
return $out;
|
||||
}
|