Пишем свой логгер на PHP / Блог Алексея Скляр

ellievsbear

gracie abrams
I'd rather be in outer space 🛸
Today's Document

Kiana Khansmith

tannertan36

Origami Around
ojovivo
"I'm Dorothy Gale from Kansas"
tumblr dot com
Xuebing Du
sheepfilms
Game of Thrones Daily
$LAYYYTER
KIROKAZE
RMH
will byers stan first human second
🩵 avery cochrane 🩵
EXPECTATIONS
art blog(derogatory)

seen from Brazil

seen from Malaysia
seen from United States
seen from Chile

seen from United States
seen from Ukraine

seen from Italy
seen from Dominican Republic
seen from Honduras
seen from Saudi Arabia
seen from Germany
seen from United States
seen from United States

seen from France
seen from Australia

seen from Italy
seen from United States

seen from United States
seen from Canada
seen from Saudi Arabia
@paramoshkinandrew
Пишем свой логгер на PHP / Блог Алексея Скляр
Compress directory to ZIP archive php
На http://stackoverflow.com обнаружил полезную функцию, позволяющую архивировать кодом директории.
Использование
Zip('/folder/to/compress/', './compressed.zip');
function Zip($source, $destination) { if (!extension_loaded('zip') || !file_exists($source)) { return false; } $zip = new ZipArchive(); if (!$zip->open($destination, ZIPARCHIVE::CREATE)) { return false; } $source = str_replace('\\', '/', realpath($source)); if (is_dir($source) === true) { $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST); foreach ($files as $file) { $file = str_replace('\\', '/', $file); // Ignore "." and ".." folders if( in_array(substr($file, strrpos($file, '/')+1), array('.', '..')) ) continue; $file = realpath($file); if (is_dir($file) === true) { $zip->addEmptyDir(str_replace($source . '/', '', $file . '/')); } else if (is_file($file) === true) { $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file)); } } } else if (is_file($source) === true) { $zip->addFromString(basename($source), file_get_contents($source)); } return $zip->close(); }
Redmine Windows
Очень полезное руководство, хоть и немного устаревшее, для установки Redmine на Windows. Можно использовать для установки Ruby on Rails.
http://nightcoder.livejournal.com/6223.html
Ассоциативный массив из json объекта
На выходе json_decode(string) возвращается json объект. Если необходимо преобразовать его в ассоциативный массив, можно воспользоваться командой:
get_object_vars($jsonObject);
File extention from string
Чтобы получить расширение файла из строки с его названием можно использовать:
substr(strrchr($file_name,'.'),1);
Шрифты на iOS Safari
Временами размеры шрифтов, заданных в px, некорректно отображаются на iOS устройствах. Лечится
-webkit-text-size-adjust: 100%
Запрет подмены стилей на iOS
-webkit-appearance: none;
На браузерах iPad, iPhone и т.д. стили кнопок и форм на встроенные. Данная команда отключает эти стили.
Facebook share button
Для создания кнопки Share для Facebook, необходимо прописать ссылку следующим образом:
<a href="#"
onclick="
window.open(
'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href),
'facebook-share-dialog',
'width=626,height=436');
return false;">
Share on Facebook
</a>
Для добавления собственной картинки к пост Facebook'a в <head> необходимо добавить
<link rel="image_src"
type="image/jpeg"
href="http://youtsite.com/img/facebookImage.png" />
Ссылка на картинку должна быть в таком же формате.
Чтобы обновить данные Facebook - http://developers.facebook.com/tools/lint/
Информация с http://stackoverflow.com/questions/689295/how-to-show-particular-image-as-thumbnail-while-implementing-share-on-facebook
Подмена URL адресной строки
Если есть необходимость загрузить страницу, но визуально подменить её адрес:
<script> $(document).ready(function(e){ history.pushState({page: this.href}, '', '<?php echo "http://" . $_SERVER['HTTP_HOST']; ?>'); }); </script>
В данном случае используется HTTP_HOST. Его можно заменить на любую страницу.
ВАЖНО! При обновлении страницы с подменой, откроется подмененная ссылка, так что лучше подменять на страницу с обработкой подобного действия.
Disable user select
user-select: none;
Отключает возможность выделения пользователем контента. Нужны префиксы -webkit, -moz
Page template based by alias
Для использования маски страницы в целях темизации в Drupal 7 необходимо добавить в template.php следующий код
function THEMENAME_preprocess_page(&$variables, $hook) { $alias = drupal_get_path_alias($_GET['q']); if ($alias != $_GET['q']) { $template_filename = 'page'; //Break it down for each piece of the alias path foreach (explode('/', $alias) as $path_part) { $template_filename = $template_filename . '__' . $path_part; $variables['theme_hook_suggestions'][] = $template_filename; } } }
Тема будет задаваться с помощью page--yourAlias.tpl.php
Drupal 7 jQuery bug
Обнаружилось, что иногда Drupal 7 не позволяет использовать $ для обращения к jQuery. В следствие этого, почему-то, не работали селекторы и многие другие функции библиотеки.
Лечится добавлением
var $=jQuery.noConflict();
в начало скрипта.
font extra smoothing fix
-webkit-font-smoothing:antialiased;
На Mac OS X браузеры на основе webkit автоматически ставят максимальное сглаживание шрифта (подключаемого через @font-face). Выглядит ужасно, лечится быстро.
До
После