четверг, 5 июля 2012 г.

Вывод даты словами PHP

Код - пример #1
1
2
3
4
5
6
7
$date = /* timestamp из БД */ ;
$d = time() - $date;
 
if ($d < 60) echo $d . ' сек. назад';
elseif ($d < 3600) echo round($d / 60) . ' мин. назад';
elseif ($d < 86400) echo round($d / 3600) . ' ч. назад';
else echo round($d / 86400) . ' дн. назад';

четверг, 23 февраля 2012 г.

Вешаем Fancybox на кнопку button

С помощью плагина fancybox можно делать замечательные галереи и попапы. В документации есть примеры. Но как повесить его на кнопку? Вот так:
Код - пример #1
1
2
3
4
<form action="/ACTION/FastFindObj" method="post">
  <input name="fastfind" class="fastfind" value="3463" type="text">
  <input name="weiter" type="submit">
</form>

И используем:

Код - пример #1
1
2
3
4
    $("form").fancybox();
    $("input").fancybox();
    $("input[name='weiter']").fancybox();
Больше примеров здесь

пятница, 30 декабря 2011 г.

Бесплатная CMS Open Real Estate на Yii

Недавно, мы выпустили бесплатную CMS Open Real Estate на Yii. Открытый исходный код, open source. Это мой первый опыт, работы над open source проектом такого уровня.

В качестве системы контроля версий использовали Mercurial hg. По моему это самое лучшее решение, до этого пробовал CVS, SVN, GIT.

И самое главное набрался опыта работы с Yii framework и планирую продолжить работу с ним. Постепенно, понимаешь, насколько в нем все грамотно реализовано и сколько много труда в него вложено.

пятница, 21 октября 2011 г.

Как в Denwer импортировать через консоль дамп базы mysql

Поражаюсь какой у блогера тупой WYSWIG приходится раставлять тег br руками для переносов, потому что если сделать перенос по умолчанию какой есть в настройках, получается УЖАС.

Иногда приходится импортировать большие дампы sql, через phpmyadmin делать это проблематично, т.к. по умолчанию стоит ограничение на файлы не больше 2Мб. Сегодня надо было импортировать 90Мб, через консоль импортировалось без проблем.

Win+R, cmd, Enter

p:

cd P:\usr\local\mysql5\bin\
mysql_run_to_import_dumps.exe

mysql> \r base_name

mysql> \. dump_file



где p - виртуальный диск, создаваемый денвером
base_name - имя базы
dump_file - файл с дампом базы (включая путь)

Найдено здесь )

пятница, 14 октября 2011 г.

Как получить выбранные элементы checkbox в массив jQuery

var selectedItems = new Array();
$("input[@name='itemSelect[]']:checked").each(function() {selectedItems.push($(this).val());});
 
if (selectedItems .length == 0) {
    alert("Please select item(s) to delete.");
} else {
    $.ajax({
        type: "POST",
        url: "/ajax_do_something.php",
        data: "items=" + selectedItems.join('|'),
        dataType: "text",
        success: function (request) {
            document.location.reload();
        },
        error: function(request,error){
            alert('Error deleting item(s), try again later.');
        }
    })
} 
Нашел здесь

среда, 3 августа 2011 г.

Паттерн Одиночка - Singleton Pattern в PHP

Код - пример #1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
// PHP5
class Logger {

    static private $instance = NULL;

    /* Возвращаем ссылку на одиночку  */
    static function getInstance() {
    
        /* Если объект еще не создан, создаем */
        if (self::$instance == NULL) {
            self::$instance = new Logger();
        }
        
        return self::$instance;
    }

    /* Запрещаем прямое создание */
    private function __construct() {
    
    }

    /* Запрещаем клонирование */
    private function __clone() {
    
    }

}