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

JVL
One Nice Bug Per Day

oozey mess

titsay
Monterey Bay Aquarium

izzy's playlists!

Product Placement
Today's Document
PUT YOUR BEARD IN MY MOUTH
taylor price
No title available

❣ Chile in a Photography ❣
wallacepolsom
dirt enthusiast
AnasAbdin
Acquired Stardust
YOU ARE THE REASON
Keni
Not today Justin
art blog(derogatory)
seen from Türkiye

seen from Colombia
seen from United States
seen from Belgium
seen from United States

seen from United Arab Emirates

seen from Australia
seen from United States

seen from United States
seen from Switzerland

seen from United States

seen from United States
seen from New Zealand

seen from Germany
seen from United States
seen from Colombia

seen from Canada

seen from United Kingdom

seen from United States

seen from Colombia
@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). Выглядит ужасно, лечится быстро.
До
После