|
Ok!
|
|
|
Ok!
|
---|---|---|---|---|
198 | function setCookie(name,value,days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days*24*60*60*1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } function getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } function eraseCookie(name) { document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } | куки, cookie | 120 | Постановка, уаделние кук Яваскрипт |
215 | function custom_rate($num, $id) { $line = "<div class='item_rating' data-for='" . $id . "' data-rate='" . $num[0] . "'>"; for ($i = 1; $i < 6; $i++) { if ($i <= $num[0]) { $line .= "<img src="/wp-content/uploads/2022/07/Orange_star.svg" width=24 height=24 alt="Рейтинг не менее " . $i . ""/>"; } else { $line .= "<img src="/wp-content/uploads/2022/07/Orange_star_empty.svg" width=24 height=24 alt="Рейтинг менее " . $i . ""/>"; } } return $line . "</div>"; } | stars, rating, WP, рейтинг, звездочки | 120 | Функция для Вордпресс рейтинг звездочек |
220 | // Перенаправляем пользователя на страницу оплаты Header("Location: http://auth.robokassa.ru/Merchant/Index.aspx?MrchLogin=$mrh_login&OutSum=$out_summ&InvId=$inv_id". "&InvDesc=$inv_desc&SignatureValue=$crc". "&Culture=$culture&Encoding=$encoding&Email=$email"); | header, location, php | 120 | Перенаправляем пользователя на страницу оплаты Header |
240 | document.addEventListener("DOMContentLoaded", function (event) { setTimeout(function() { let container = document.createElement("div"); container.classList.add('g-recaptcha'); container.setAttribute('id', 'g-recaptcha'); container.dataset.sitekey = '6Lc-rR0nAAAAAApbMeAGotqehDQZrx7IeUrAajI2'; let prev = document.querySelector('[name="form_hidden_45"]'); prev.after(container); },0); }); | JS, javascript, captcha | 120 | Добавить блок Капча после поля формы Яваскрипт |
151 | -webkit-hyphens: auto; hyphens: auto; | css, перенос, hyphens | 123 | Расстановка переносов в блоке css |
15 | $useragent=$_SERVER['HTTP_USER_AGENT']; $mob = 0; if(preg_match('/(android|bbd+|meego).+mobile|avantgo|bada/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|series(4|6)0|symbian|treo|up.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i',substr($useragent,0,4))){ $mob = 1; } | mobile detect, мобильные php, пхп мобильный | 129 | Код определения мобильных телефонов через PHP |
97 | <link rel="stylesheet" href="/animate.min.css" media="none" onload="if(media!='all')media='all'"><noscript><link rel="stylesheet" href="/animate.min.css"></noscript> | link, ускорение загрузки | 130 | Ускорение загрузки сайта уменьшением загрузки css |
137 | if ($('#phone_inp').val().length){ var ph = $('#phone_inp').val().replace(/[^0-9.]/g, ""); if(ph.length == 11) { | телефон, цифры, digits, phone number, js | 130 | Проверка телефона на число заполненных цифр |
221 | User-agent: * Disallow: / User-agent: Googlebot User-agent: AdsBot-Google Disallow: / | disallow all, robots | 130 | Запретить индексайцию всем роботам и рекламным ботам |
258 | SELECT COUNT(SUM_PAID), CASE WHEN SUM_PAID > 10000 THEN 'more10' WHEN SUM_PAID BETWEEN 5000 AND 10000 THEN '5to10' ELSE 'less5' END AS SaleLevel FROM b_sale_order GROUP BY SaleLevel; | sql, case | 140 | Запрос с условием SQL CASE |
91 | При ошибке 502 в импорте инфоблоков Битрикс Заменить в файле /bitrix/modules/iblock/admin/iblock_xml_import.php if($obXMLFile->ReadXMLToDatabase($fp, $NS, $INTERVAL)) на if($obXMLFile->ReadXMLToDatabase($fp, $NS, 10, $INTERVAL)) | 502, битрикс, инфоблок, ошибка импорта | 140 | Ошибка импорта инфоблока Битрикс 502 |
96 | function resizeAndConvertImageWebP( $width, $height, $density, $originalFilepath, $resizedFilepath) { $newWidth = $width * $density; $newHeight = $height * $density; $image = new Imagick($originalFilepath); $origImageDimens = $image->getImageGeometry(); $origImgWidth = $origImageDimens['width']; $origImgHeight = $origImageDimens['height']; if($newWidth == 0) { $ratioOfHeight = $newHeight / $origImgHeight; $newWidth = $origImgWidth * $ratioOfHeight; } if($newHeight == 0) { $ratioOfWidth = $newWidth / $origImgWidth; $newHeight = $origImgHeight * $ratioOfWidth; } $widthRatios = $origImgWidth / $newWidth; $heightRatios = $origImgHeight / $newHeight; if($widthRatios <= $heightRatios) { $cropWidth = $origImgWidth; $cropHeight = $newWidth * $widthRatios; } else { $cropWidth = $newHeight * $heightRatios; $cropHeight = $origImgHeight; } $cropX = ($origImgWidth - $cropWidth) / 2; $cropY = ($origImgHeight - $cropHeight) / 2; $image->stripImage(); $image->cropImage($cropWidth, $cropHeight, $cropX, $cropY); $image->resizeImage($newWidth, $newHeight, imagick::FILTER_LANCZOS, 0.9); $image->setImageFormat('webp'); $image->setImageAlphaChannel(imagick::ALPHACHANNEL_ACTIVATE); $image->setBackgroundColor(new ImagickPixel('transparent')); $image->writeImage($resizedFilepath); } | webp,support,imagemagic | 140 | Конвертация картинки в webp в случае, если imageMagic поддрживает |
144 | $iterator = CIBlockElement::GetList( array(), array('IBLOCK_ID' => 2, '=AVAILABLE' => 'Y', '=TYPE' => 1, '>=PRICE' => 100, '<=PRICE' => 200, 'CURRENCY_FOR_SCALE' => 'USD'), false, false, array('ID', 'NAME', 'IBLOCK_ID') ); | итератор, iterator bitrix, iterator | 140 | Выборка элементов Битрикс из каталога или другого инфоблока. Итерация. |
2 | $text = iconv(mb_detect_encoding($det, mb_detect_order(), true), "UTF-8", $det); | encoding, кодировка, перекодировать, Конвертация | 150 | Конвертация из любой кодировки в utf-8 |
13 | $was_id = intval($DB->LastID()); | last id, последний id | 150 | Выбрать из базы последний добавленный ID при autoincrement |
7 | <input type="tel" name="phone" class="form-control form-block" placeholder="+7(999)999-99-99" pattern="[+]d{1}[(]d{3}[)]d{4}[-]d{2}[-]d{2}" value=""> | html, phone, pattern, regex | 160 | Regex паттерн для проверки номера телефона. Пример html валидации |
256 | <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L] </IfModule> | redirect, public | 190 | htaccess редирект из корня в папку public в корне |
8 | onclick="$('html, body').animate({scrollTop:6500}, 'slow'); | jquery, scrollTop, скролл, плавный | 190 | Плавный скролл до точки, jQuery |
11 | $(document).ready(function(){ /**function for slider change*/ var sizeSl = $('.slq-wrap li.slide-q').length; var indexSl = 0; var fSlq = function(indexSl){ $('.slq-wrap li.slide-q').removeClass('activ'); $('.slq-wrap li.slide-q').eq(indexSl).addClass('activ'); if ($('.slq-wrap li.slide-q').eq(indexSl).hasClass('video_sl')) { $('.paly-sl-q').show(); } else { $('.paly-sl-q').hide(); } } $('.left-c-sl').click(function(){ clearTimeout(R); /*pause on left click*/ var active_index = 0; window.Int; if (typeof(video)!='object'){ var video = $('slide-q').length; } for(var i=0; i<video.length; i++){ if($(".video_sl").eq(i).hasClass('activ')){ active_index = i; } } var jVideo = document.getElementsByTagName('video'); if(document.getElementsByTagName('video').length!=0){ if (!jVideo[active_index].paused) { $('video').eq(active_index).trigger('pause'); var button = $('.paly-sl-q.comm'); button.removeClass('paused'); } } if (indexSl == 0) { indexSl = sizeSl - 1; } else { indexSl = indexSl - 1; } fSlq(indexSl); }); $('.right-c-sl').click(function(){ /*pause on right click*/ clearTimeout(R); var active_index = 0; window.Int; if (typeof(video)!='object'){ var video = $('slide-q').length; } for(var i=0; i<video.length; i++){ if($(".slide-q").eq(i).hasClass('activ')){ active_index = i; } } var jVideo = document.getElementsByTagName('video'); if(document.getElementsByTagName('video').length!=0){ if (!jVideo[active_index].paused) { $('video').eq(active_index).trigger('pause'); var button = $('.paly-sl-q.comm'); button.removeClass('paused'); } } // console.log(indexSl) if (indexSl == sizeSl - 1) { indexSl = 0; } else { indexSl = indexSl + 1; } fSlq(indexSl); }); }); | видео, ютьюб, youtube, видео пауза | 190 | При переключении видео в Ютьюб в списке ставит прошлое на паузу |
21 | <img src="http://bit.ly/2heoc2H" alt="Simon's cat" width="200" height="200"> img { object-fit: cover; // magic goes here } | картинка, по ширине, по высоте, подогнать картинку, вместо background-size, object-fit | 190 | Решение с изображением, чтобы отображалось без сжатия и не бэкграунд |