Основной смысл чтобы слова не обрезались)
<?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>
При проверке на валидность кода с Doctype: XHTML 1.0 Transitional
<marquee scrollamount='3'>Текст</marquee>
получаем следующую ошибку:
element "marquee" undefined
Решение:
<script type='text/javascript'>
<!--
document.write("<marquee scrollamount='3'>Текст</marquee>");
-->
</script>
Например чтобы округлить число до сотых можно, как оказывается, вместо
$eqvsum=substr($eqvsum,0,strpos($eqvsum,'.')+3);
просто
$eqvsum=round($eqvsum,2);
:)
Установка:
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
Собственно 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
Например обнуляем большой лог reconnect.log:
cat /dev/null > /var/log/reconnect.log
Т.е. запись всего того что выводится на экран, и часто мешает работать, если сыпется всего много, а нужно что-то напечатать, и в том случае когда монитор не подключен а прочитать что пишут нужно.
Раскомментируем console.info в /etc/syslog.conf
mcedit /etc/syslog.conf
# uncomment this to log all writes to /dev/console to /var/log/console.log
console.info /var/log/console.log
Смотрим «in real time» :)
tail -f /var/log/console.log