|
Ok!
|
|
|
Ok!
|
---|---|---|---|---|
101 | /bitrix/modules/main/include.php replace OLDSITEEXPIREDATE by (exmpl) time() + 86400 * 3 | bitrix | 100 | replace old site expire date |
112 | $r = GetCountries(); print_r($r); Array ( [0] => Array ( [ID] => 1 [CODE] => RU [NAME] => Россия ) [1] => Array ( [ID] => 2 [CODE] => AZ [NAME] => Азербайджан ) ) | страны, страна, битрикс, массив | 100 | Получить массив стран в Битрикс |
159 | function lat2cyr($s) { $sb = ""; $i = 0; $lc = false; while ($i < strlen($s)) { $ch = substr($s, $i, 1); $lc = ctype_lower($ch); // true/false $ch = mb_strtoupper($ch); if ($ch == 'J') { // Префиксная нотация вначале $i++; // преходим ко второму символу сочетания $ch = strtoupper(substr($s, $i, 1)); switch ($ch) { case 'O': $sb .= ch('Ё', $lc); break; case 'H': if ($i + 1 < strlen($s) && mb_strtoupper(substr($s, $i + 1, 1) == 'H')){ // проверка на постфикс (вариант JHH) $sb .= ch('Ъ', $lc); $i++; // пропускаем постфикс } else{ $sb .= ch('Ь', $lc); } break; case 'U': $sb .= ch('Ю', $lc); break; case 'A': $sb = ch('Я', $lc); break; default: break; } } else if ($i + 1 < strlen($s) && mb_strtoupper(substr($s, $i + 1, 1)) == 'H') { // Постфиксная нотация, требует информации о двух следующих символах. Для потока придется сделать обертку с очередью из трех символов. switch ($ch) { case 'Z': $sb .= ch('Ж', $lc); break; case 'K': $sb .= ch('Х', $lc); break; case 'C': $sb .= ch('Ч', $lc); break; case 'S': if ($i + 2 < strlen($s) && mb_strtoupper(substr($s, $i + 2, 1)) == 'H') { // проверка на двойной постфикс $sb .= ch('Щ', $lc); $i++; // пропускаем первый постфикс } else { $sb .= ch('Ш', $lc); } break; case 'E': $sb .= ch('Э', $lc); break; case 'I': $sb .= ch('Ы', $lc); break; default: break; } $i++; // пропускаем постфикс } else {// одиночные символы switch ($ch) { case 'A': $sb .= ch('А', $lc); break; case 'B': $sb .= ch('Б', $lc); break; case 'V': $sb .= ch('В', $lc); break; case 'G': $sb .= ch('Г', $lc); break; case 'D': $sb .= ch('Д', $lc); break; case 'E': $sb .= ch('Е', $lc); break; case 'Z': $sb .= ch('З', $lc); break; case 'I': $sb .= ch('И', $lc); break; case 'Y': if (mb_strtoupper(substr($s, $i + 1, 1) === ' ')){ // проверка на пробел после Y $sb .= ch('И', $lc); $i++; // пропускаем постфикс } else{ $sb .= ch('Й', $lc); } break; case 'K': $sb .= ch('К', $lc); break; case 'L': $sb .= ch('Л', $lc); break; case 'M': $sb .= ch('М', $lc); break; case 'N': $sb .= ch('Н', $lc); break; case 'O': $sb .= ch('О', $lc); break; case 'P': $sb .= ch('П', $lc); break; case 'R': $sb .= ch('Р', $lc); break; case 'S': $sb .= ch('С', $lc); break; case 'T': $sb .= ch('Т', $lc); break; case 'U': $sb .= ch('У', $lc); break; case 'F': $sb .= ch('Ф', $lc); break; case 'C': $sb .= ch('Ц', $lc); break; default: $sb .= ch($ch, $lc); } } $i++; // переходим к следующему символу } return (string)$sb; } function cyrlat($ch) { switch ($ch) { case 'А': return "A"; case 'Б': return "B"; case 'В': return "V"; case 'Г': return "G"; case 'Д': return "D"; case 'Е': return "E"; case 'Ё': return "JO"; case 'Ж': return "ZH"; case 'З': return "Z"; case 'И': return "I"; case 'Й': return "Y"; case 'К': return "K"; case 'Л': return "L"; case 'М': return "M"; case 'Н': return "N"; case 'О': return "O"; case 'П': return "P"; case 'Р': return "R"; case 'С': return "S"; case 'Т': return "T"; case 'У': return "U"; case 'Ф': return "F"; case 'Х': return "KH"; case 'Ц': return "C"; case 'Ч': return "CH"; case 'Ш': return "SH"; case 'Щ': return "SHH"; case 'Ъ': return "JHH"; case 'Ы': return "IH"; case 'Ь': return "JH"; case 'Э': return "EH"; case 'Ю': return "JU"; case 'Я': return "JA"; default: return $ch; } } function cyr2lat($s) { $sb = ""; $ch = preg_split('//u', $s, null, PREG_SPLIT_NO_EMPTY); for ($i = 0; $i < count($ch); $i++) { $lc = preg_match('~^p{Lu}~u', $ch[$i]) ? 0 : 1; $v = $ch[$i]; $l = mb_strtoupper($v); $c = cyrlat($l); $lat = ch($c, $lc); $sb .= $lat; } return $sb; } /** * Вспомогательная функция для восстановления регистра */ function ch($ch, $tolower) { return $tolower ? mb_strtolower($ch) : mb_strtoupper($ch); } echo cyr2lat("провинции Арма") . " "; echo lat2cyr("Provinces of Lightness") . " "; | транслит, ретранслит | 100 | Транслит русско-латинский, латинско-русский |
166 | <script> document.addEventListener("touchstart", function(e) { console.log(e.defaultPrevented); // will be false e.preventDefault(); // does nothing since the listener is passive console.log(e.defaultPrevented); // still false }, Modernizr.passiveeventlisteners ? {passive: true} : false); </script> | touchstart,passive,js | 100 | Пассивный ивент листнер |
180 | https://marketplace.1c-bitrix.ru/solutions/bitrix.liveapi/ | модуль, битрикс, API | 100 | Ссылка на Живое описание API Битрикс. Механизм сканирует все модули Битрикс и выводит все методы этих модулей. Можно посмотреть, какие возможности у каждого модуля! |
182 | <? $today = new DateTime(); $begin = new DateTime('January 01'); $ny1 = new DateTime('December 20'); $ny2 = new DateTime('January 8'); $spring = new DateTime('March 01'); $summer = new DateTime('June 01'); $fall = new DateTime('September 01'); $winter = new DateTime('December 01'); switch (true) { case $today >= $ny1 || $today < $ny2: echo 'Новогоднее настроение'; break; case ($today >= $winter || $today >= $begin) && $today < $spring: echo 'Зимнее настроение'; break; case $today >= $spring && $today < $summer: echo 'Весеннее настроение'; break; case $today >= $summer && $today < $fall: echo 'Летнее настроение'; break; case $today >= $fall && $today < $winter: echo 'Осеннее настроение'; break; default: break; } ?> | зимнее, весеннее | 100 | зимнее или весеннее |
188 | var hr = $('body').find('.popup_image') hr.each(function(){ console.log($(this).attr('href') + ' ' + $(this).attr('title')); }) | парсинг js | 100 | Парсинг ссылок яваскриптом |
200 | "CUSTOM_FILTER" => "{"CLASS_ID":"CondGroup","DATA":{"All":"AND","True":"True"},"CHILDREN":[{"CLASS_ID":"CondIBSection","DATA":{"logic":"Equal","value":995}}]}", | custom filter, bitrix | 100 | Пример заполнения custom_filter в Битрикс |
206 | const add = (a) => (b) => a + b; console.log (add(3)(2)) | js, двойная функция | 100 | Пример двойной функции в Яваскрипт |
208 | https://view.officeapps.live.com/op/view.aspx?src=https://site.com/price/price.xlsx | просмотр эксель, excel в браузере | 100 | Ссылка на просмотр файла эксель в браузере на сайте Майкрософт https://view.officeapps.live.com |
228 | new Date().toLocaleString('en-CA').substr(0,10) | дата, JS, date | 100 | Дата в Javascript ГГГГ-ММ-ДД |
243 | BitrixMainLoader::includeModule('iblock'); CIBlockSection::ReSort(30); | переиндексация разделов битрикс | 100 | Переиндексация LEFT_MARGIN и RIGHT_MARGIN разделов Битрикс |
248 | <?php $haystack = 'abcde'; $needle = 'f'; strpos($haystack,$needle) !== FALSE OR print "$needle not in $haystack"; | php, print | 100 | Как использовать возвращаемое print значение (1) |
28 | function mail_utf8($to, $from_user, $from_email, $subject = '(No subject)', $message = '') { $from_user = "=?UTF-8?B?".base64_encode($from_user)."?="; $subject = "=?UTF-8?B?".base64_encode($subject)."?="; $headers = "From: $from_user <$from_email> ". "MIME-Version: 1.0" . " " . "Content-type: text/plain; charset=UTF-8" . " "; return mail($to, $subject, $message, $headers); } | utf-8, mail, php | 90 | Функция mail utf-8 |
56 | time = new Date().getHours() + ":" + new Date().getMinutes() | время, яваскрипт, время сейчас, js, time now, time | 90 | Время сейчас — часы : минуты |
68 | <img src="fake.jpg" data-src="real.jpg"/> <script> function init() { var imgDefer = document.getElementsByTagName('img'); for (var i=0; i<imgDefer.length; i++) { if(imgDefer[i].getAttribute('data-src')) { imgDefer[i].setAttribute('src',imgDefer[i].getAttribute('data-src')); } } } window.onload = init; </script> | defer, images | 90 | Отложенная загрузка изображений после загрузки страницы |
131 | <? $APPLICATION->IncludeFile( SITE_TEMPLATE_PATH . "/bespl_kons.php", Array(), Array( "MODE" => "html" ) ); ?> | include, bitrix, включаемая область | 90 | Вставка включаемой области из html файла в Битрикс |
165 | <link rel="canonical" href="<?= substr(strtolower($_SERVER['REQUEST_URI']), 0, strrpos($_SERVER['REQUEST_URI'], '/') + 1) ?>"/> | каноникал, canoncal | 90 | Сделать rel каноникал в php |
6 | foreach($quest['METRO'] as $n => $station) echo ($n > 0 ? ', ' : '').$station['VALUE_ENUM']; | через запятую, массив, элементы | 40 | Элементы массива, выводимые через запятую. Очень элегантное решение |
5 | function cmp($a,$b){ return strtotime($a['PROPERTY_DATER_VALUE'])<strtotime($b['PROPERTY_DATER_VALUE']); } usort($item_happ,"cmp"); | функция, сравнение дат, даты, php | 30 | Пример функции сравнения в php |