#ifdef в PHP

В своем проекте мне понадобилось собирать различные версии исходников. Причём так что бы в различных сборках помещались различные куски кода. if-else мне здесь не подходил, потому что нужно было что бы код либо точно входил, либо не входил в сборку.
(далее…)

Новые принт-скрины ElfChat 5

Всем привет!

Работа над новым ElfChat 5 постепенно продолжается.

Вот парочка новых принт-скринов пятёрки.

Панель входа в чат:

Панель входа

Главная страница панели управления:

Панель управления

Создание PHP-AJAX чата

Приветствую!

Эта статья для тех кто желает сам сделать свой чат на php с применением ajax. В ней я расскажу о том как самому сделать простой чат.

Так будет выглядеть получившийся чат.

Необходимые знания:

  1. Начальные знания в php. Такие как: Как подключиться к базе данных mysql?
  2. Начальные знания в html и css.
  3. Начальные знания в JavaScript и jQuery. (даже если вы только слышали о jQuery, но не работали с ним)

Итак начнём!

(далее…)

О новом ElfChat 5

Привет всем!

Начну сразу с нового скрина чата:

Многое в ElfChat 5 уже сделано, однако многое остаётся ещё недоделанным. Так что вероятнее выйдет он только в начале следующего года.
Главное это то что я определился с путём развития чата, и уже приступил к написанию задуманных функций.
Открывать все тайны о ElfChat 5 я не буду.
Скажу только то что в новой версии будут нативные шаблоны, что ещё упростит создание скинов к чату. Сразу после выхода 5-ки, я ожидаю в короткий срок большого количества новых скинов.
Так же ещё увеличу производительность чата и уменьшу объем передаваемых данных.
Будет больше функций для модерирования чата, такие как моментальное удаление сообщения из чата, и тп.
Ещё не решён вопрос с архивом: рассматриваю вариант вообще его убрать из 5-ки.

Плагин jQuery.Matrix

Простой плагин создания эффекта матрицы для текста.

Демо

jQuery.fn.matrix = function (options) {
    var options = jQuery.extend({
	  mask: "QWERTYUIOPASDFGHJKLZXCVBNMЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁ",
	  speed: 100
	}, options);
 
    var iteration = function (obj, i, char, n) {
	    var char_obj = obj.find('#char'+i);
		if(n < 0) {
			var rand = Math.ceil(options.mask.length*Math.random()) - 1; // random between 0 - options.mask.length
			char_obj.text(options.mask[rand]);
			setTimeout(function () {
				iteration(obj, i, char, n - 1);
			}, options.speed);
		} else {
		    char_obj.text(char);
		}
	};
	return this.each(function () {
		var obj = jQuery(this);
		var text = obj.text();
		var text_length = text.length;
		var array = new Array(text_length);
 
		for(var i = 0; i < text_length; i++) {
			if(text.charAt(i) != ' ' && text.charAt(i) != '\n') {
				array[i] = '<span id="char' + i + '">' + text.charAt(i) + '</span>';
			} else {
			    array[i] = text.charAt(i);
			}
		} 
 
		obj.html('<pre>' + array.join('') + '</p' + 're>');
 
		for(var i = 0; i < text_length; i++) {
		    if(text.charAt(i) != ' ' && text.charAt(i) != '\n') {
		    	var rand = Math.ceil(100*Math.random()); // random between 1 - 100
		    	var time = (1 + 5 * rand / 100) * 1000; // time in milisec
		    	var repeat = Math.round( time / options.speed );
		    	iteration(obj, i, text.charAt(i), repeat);
		    }
		}
	});
};

Рубрики



Ссылки


наверх