27 октября 2010 Нет комментариев

Что по-правильному называется «Вставка включаемой области».
В нужном нам месте пишем как-то так:

<?$APPLICATION->IncludeComponent("bitrix:main.include","",Array(
		"AREA_FILE_SHOW" => "sect", 
		"AREA_FILE_SUFFIX" => "inc", 
		"AREA_FILE_RECURSIVE" => "Y", 
		"EDIT_TEMPLATE" => "standard.php" 
	)
);?>

после чего в режиме редактирования появится кнопка «Редактировать включаемую область раздела»
жмем на нее и редактируем)) поле первого сохранения все наверное поплывет, но мы не расстраиваемся и удаляем из созданного в корне файла sect_inc.php:

<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("");
?>

и

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

http://dev.1c-bitrix.ru/user_help/settings/settings/components_2/include_areas/main_include.php

Categories: CMS Tags:
26 октября 2010 1 комментарий

Основной смысл чтобы слова не обрезались)

<?php
//добавляем к тексту пробел в конце, т.к. по пробелам будет делиться текст, без этого последнее слово будет обрезаться
$desc=$sample_text." ";
//2 - на сколько делим, 0.02 - сглаживание (%)
$l=intval(strlen($desc)/2+strlen($desc)*0.02);
//убираем переводы строк
$desc=ereg_replace("[\r\n]"," ",$desc);
//делим текст
preg_match_all("/(.{1,$l})[ \n\r\t]+/",$desc,$descArray);
?>
<table><tr>
	<td><?=$descArray[1][0]?></td>
	<td><?=$descArray[1][1]?></td>
</tr></table>
Categories: PHP Tags:
15 октября 2010 1 комментарий

При проверке на валидность кода с Doctype: XHTML 1.0 Transitional

<marquee scrollamount='3'>Текст</marquee>

получаем следующую ошибку:
element "marquee" undefined
Решение:

<script type='text/javascript'>
  <!--
   document.write("<marquee scrollamount='3'>Текст</marquee>");
   -->
</script>
Categories: Web Tags: ,
11 октября 2010 Нет комментариев

Например чтобы округлить число до сотых можно, как оказывается, вместо

$eqvsum=substr($eqvsum,0,strpos($eqvsum,'.')+3);

просто

$eqvsum=round($eqvsum,2);

:)

Categories: PHP Tags:
29 сентября 2010 Нет комментариев

Установка:
cd /usr/ports/net-mgmt/nagios
make install clean
Оставляем все по умолчанию (по-умолчанию не выбрано ничего :) ), единственное, что выключил это поддержка ipv6
cd /usr/local/etc/nagios/
делаем резервную копию всех конфигов, и переименовываем их из *.cfg-sample в *.cfg
Настройка:
Пробуем запустить: sh /usr/local/etc/rc.d/nagios start
Делаем виртуальный хост в apache: например это файл /usr/local/etc/apache22/extra/httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName nagios.domain.local
    DocumentRoot "/usr/local/www/nagios/"
    <Directory /usr/local/www/nagios/cgi-bin>
        Options ExecCGI
    </Directory>
    ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/
    Alias /nagios/ /usr/local/www/nagios/
    ErrorLog "/var/log/httpd/nagios-error_log"
    CustomLog "/var/log/httpd/nagios-access_log" common
</VirtualHost>

далее добавляем Basic http-авторизацию и настраиваем хосты которые будут мониторится
В nagios.cfg раскоментируем:

cfg_dir=/usr/local/etc/nagios/servers

Т.е. в папке servers будут находиться файлы с описанием хостов, например server1.cfg

define host{
        use                     freebsd-server
        host_name               server1
        parents                 localhost
        alias                   server1.domain.local
        address                 172.16.5.20
        }
define service{
        use                             local-service
        host_name                       server1
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }

Другие службы смотрим по примеру в localhost.cfg
Также в localhost.cfg комментируем:

#define hostgroup{
#        hostgroup_name  freebsd-servers ; The name of the hostgroup
#        alias           FreeBSD Servers ; Long name of the group
#        members         localhost       ; Comma separated list of hosts that belong to this group
#        }

и создаем в паке servers файл groups.cfg где описываем необходиммые нам группы по примеру того что закомментировали, в секции members через запятую хосты, принадлежащие данной группе.
после изменений делаем sh /usr/local/etc/rc.d/nagios restart

Categories: Unix Tags: ,
21 сентября 2010 2 комментария

Собственно Javascript:

var moveState = false;
var x0, y0;
var divX0, divY0;
function defPosition(event) {
	var x = y = 0;
	if (document.attachEvent != null) {
		x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
		y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
	}
	if (!document.attachEvent && document.addEventListener) {
		x = event.clientX + window.scrollX;
		y = event.clientY + window.scrollY;
	}
	return {x:x, y:y};
}
function initMove(div, event) {
	var event = event || window.event;
	x0 = defPosition(event).x;
	y0 = defPosition(event).y;
	//divX0 = parseInt(div.style.left);
	//divY0 = parseInt(div.style.top);
	divX0 = absPosition(div).x;
	divY0 = absPosition(div).y;
	moveState = true;
}
document.onmouseup = function() {
	moveState = false;
}
function moveHandler(div, event) {
	var event = event || window.event;
	if (moveState) {
		div.style.left = divX0 + defPosition(event).x - x0;
		div.style.top = divY0 + defPosition(event).y - y0;
	}
}
function makeFastDrag(div, event) {
	document.onmousemove = function(event) {
		moveHandler(div, event);
	}
}
function absPosition(obj) {
	var x = y = 0;
	while(obj) {
		x += obj.offsetLeft;
		y += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return {x:x, y:y};
}

HTML:

<div class='primer' onmousedown='initMove(this,event);' onmouseup = 'moveState = false;' onmousemove = 'makeFastDrag(this, event);'>Some Text</div>

CSS:

.primer {
	width: 150px;
	height: 100px;
	position: absolute;
	background: #000;
	cursor: move;
}

Использовались статьи:
http://fastcoder.org/articles/?aid=149
http://fastcoder.org/articles/?aid=16

Categories: Javascript Tags: ,
13 сентября 2010 2 комментария

Например обнуляем большой лог reconnect.log:
cat /dev/null > /var/log/reconnect.log

Categories: Unix Tags: