понедельник, 25 августа 2008 г.

Уязвимость в сайте moodle

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


В популярной системе онлайн обучения Moodle были найдены две серьезные ошибки, которые позволяют атакующему завладеть учётными записями учителей и администраторов сайта. Это возможно через использование cross-site scripting (XSS) and cross-site request forgery (CSRF) атак.


XSS эксплоит внедряет зловредный javascript код в публичные блоги, расположенные на сайтах Moodle, для кражи идентификаторов сессий пользователей, которые позволяют нападающему действовать под именем скомпрометированного пользователя.


Бесплатная платформа с открытым кодом написана на PHP, в соответствии с последней статистикой Moodle, это программное обеспечение используется в 197 странах мира на более чем 46000 сайтах и предлагает более двух миллионов курсов в которых участвуют 22 миллиона человек.


источник: http://www.xakep.ru/post/44451/default.asp

четверг, 21 августа 2008 г.

Идеальный сервер: настройка Gutsy Gibbon 7.10 Server

Работаете администратором или инженером в провайдерской конторе? А может сами хотите начать свой бизнес в этой сфере? Вполне вероятно, что вам сильно поможет данное руководство.


Материал подготовлен на базе статьи с howtoforge.com (автор: Falko Timme)


Материал посвящен быстрому развороту системы для нужд интернет сервис провайдеров и хостеров, на базе Ubuntu Gutsy Gibbon (Ubuntu 7.10 Server).


http://www.xima4.com/?p=236

Создание LAMP сервера c 0.

Такого рода вопросы можно задавать себе, а лучше конечно найти ответы на них… Как было на форуме Ubuntu

И так есть сервер AquaServer E50 D20 http://www.aq.ru/aquaserver_ed311.html
Хочу на него поставить Ubuntu server 7.10 +LAMP.
У сервера будет свой IP адрес, широкая линия ADSL.
На сервере будет размещен 1 сайт, СMS Joomla или Drupal.
Посещаемость человек 300 в сутки максимум.

примечание - Я с английским на ВЫ (ну плохо знаю).

ВОПРОС №1
Так как я начинающий пользователь в linux, хочу поставить графический интерфейс (считаю что поможет себя более комфортно чувствовать).
Какой именно? или какой мне понравится?
1.Gnome
2.KDE
3.Xface
МЕСТА НА ДИСКАХ ВИДИТЕ САМИ, ОЧЕНЬ МНОГО!!!
Не надо отговаривать ссылаясь на то что занимает место на диске, а просто можно или нельзя.
Может это отразится на безопасности и т.д..

ВОПРОС №2 (безопасность)
На сколько я понял в linux нет вирусов, точнее есть....
ВОТ ТУТ ТОЧНЕЕ И ТРЕБУЕТСЯ РАЗЪЯСНИТЬ.
Как защитить сервер, что для этого требуется, как настроить?
Установка программ (wine, openOffice и т.д.)  не навредит безопасности системы в целом если буду использовать стабильные версии.


ВОПРОС №3
Устанавливаю  Ubuntu server 7.10, при установке  LAMP.
На сколько я понял apache, php и mysql будут установлены и мне стоит только установить обновления 1. sudo su
 2. apt-get update
.
Я правильно понимаю или нет?
Какие компоненты, библиотеки, модули надо доставить?
Вот чтобы было как на полноценном хостинге.

ВОПРОС №4 (панель управления хостингом)
Хотелось бы чтобы была панель управления.
Сайт в принципе  будет один, но ведь удобнее всем этим делом рулить через панель управления. Например мне кажется что так будет проще и быстрее создавать почтовые ящики, смотреть статистику и т.д. во общем нужна и все тут.
Что выбрать?
1.Webmin
2.ISPConfig

Тут же появляется еще один вопрос: при установке панели LAMP должен стоять или они сами ставят его?

Я в в sinaptik нашел dtc

web control panel for admin and accounting hosting services
Но вот заставить работать его так и не смог, установить установил, а дальше что.

ВОПРОС №5
Домен, ns, dns.
Допустим есть домен MYSITE.RU
Что дальше.....
Можно дать ссылку, но лучше разъяснить что и как.

ВОПРОС №5
Как организовать бекап всего содержимого HDD.
На сервере установлено два одинаковых диска SATA по 250 гигабаайт.
Стоит ли их зазеркалить, либо может использовать второй диск для бекапа.
Хотелось бы бекап делать в виде дампа, как это делает Ghost.
Какой софт для этого можно использовать.


sudo aptitude update
sudo aptitude dist-upgrade
sudo aptitude install apache mysql-server php5 php5-mysql


источник: http://forum.ubuntu.ru/index.php?topic=21528.msg148741

Как удалить mysql в Ubuntu server?

Если использвать "apt-get remove --purge имяфайла", то тогда все конфигурации ранее установленные будут удалены.


Mysql
sudo apt-get install mysql-server (mysql сервер)
sudo mysqladmin -u root password >новый пасс тут<
sudo apt-get install mysql-admin (mysql админ)
Apache
sudo apt-get install apache2 (апач 2)
Пэашпэа ))
sudo apt-get install php5
Потом рестартуеш апач - sudo /etc/init.d/apache2 restart
И еще немного:
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
еще раз рестарт - sudo /etc/init.d/apache2 restart

Windows XP Pro Asus EEE Edition (eng)

Результат "укорачивания" - 89 Мб ISO (83 Мб Windows файлов и 6 Мб установочных файлов Mozilla Firefox 2.0 ). Эта версия может устанавливаться "без присмотра", инструкции по установке внутри архива в текстовом файле.После установки Windows XP использует 27.4 мб оперативной памяти.
После установки Windows XP занимает 215 мб места на диске.
Время установки было очень укорочено благодаря замене файла winlogon.exe файлом minlogon.exe от Microsoft Embedded XP SP2.
Сохраненные программы:
Wireless Network Connectivity
Ethernet Network Connectivity
Bittorrent
Microsoft Office XP, 2003, 2007
SD Card Slot
USB Ports
Audio
DirectX
OpenGL
Plug and Play
Themes (signed & unsigned)
Paint
Notepad
Calculator
Удалено:
Printing--decreases RAM usage; eliminates the spooler service
Multiple User Accounts--speeds up boot time, property of minlogon.exeWindows

Networking--property of minlogon.exe

16 bit application support--decreases install size

Windows Image Acquisition--decreases RAM usage. prevents direct connection of cameras to the pc via a usb or firewire cable. Note you can upload photos using a USB card reader or built is SD card slot.

Windows Media Player 9--decreases install size. I recommend VLC player by VideoLAN.org

Internet Explorer 6--Plagued by security and nuisance attacks. A Mozilla Firefox 2.0.11 setup file is provided on the ISO/CD

VPN--decreases install size

Windows Firewall--decreases install size, increases RAM. It is my belief that there are better third-party firewall software packages avaiable.
This version of Windows XP has been stripped of system components to cater to users of ultra mobile PCs (UMPC) like the Asus EEE. Since UMPCs are often used by their owners as a second or third PC, it is my belief that full Windows XP functionality can be traded for improved memory efficiency, smaller installation footprints, and faster boot times.

SPECIFICATIONS:
ISO:

The result of this "trimming" is a 89MB ISO (83MB Windows files + 6MB Mozilla Firefox 2.0.11 setup file). The installation of this version is "unattended;" the user will not be prompted for input during the installation. Installation instructions are included in this torrent as a text file.

RAM:
When installed, this version of Windows XP uses 27.4MB of RAM:

Disk Space:
When installed, this version of Windows XP has a total installed footprint of 215MB of disk space:

Boot Time:
The boot time of this operating system has been dramatically reduced by replacing the default winlogon.exe shell with minlogon.exe, from Microsoft's Embedded XP SP2 operating system.

PRESERVED FUNCTIONALITY:
Wireless Network Connectivity
Ethernet Network Connectivity
Bittorrent
Microsoft Office XP, 2003, 2007
SD Card Slot
USB Ports
Audio
DirectX
OpenGL
Plug and Play
Themes (signed & unsigned)
Paint
Notepad
Calculator

REMOVED FUNCTIONALITY:
Printing--decreases RAM usage; eliminates the spooler service

Multiple User Accounts--speeds up boot time, property of minlogon.exeWindows
Networking--property of minlogon.exe
16 bit application support--decreases install size
Windows Image Acquisition--decreases RAM usage. prevents direct connection of cameras to the pc via a usb or firewire cable. Note you can upload photos using a USB card reader or built is SD card slot.
Windows Media Player 9--decreases install size. I recommend VLC player by VideoLAN.org
Internet Explorer 6--Plagued by security and nuisance attacks. A Mozilla Firefox 2.0.11 setup file is provided on the ISO/CD

VPN--decreases install size
Windows Firewall--decreases install size, increases RAM. It is my belief that there are better third-party firewall software packages avaiable.

Язык интерфейса: Английский
Размер: 84.0 Mb

http://rapidshare.com/files/138804290/EEE.rar

среда, 20 августа 2008 г.

ALT Linux 4.0 Office Server

- Cерверная операционная система с фиксированным набором функций, полностью настраиваемая через веб-интерфейс (преемник ALT Linux SOHO Server).
ALT Linux 4.0 Office Server входит в современную линейку продуктов ALT Linux 4.0, включающую обновлённые и совершенно новые программы;
* ядро Linux 2.6.18 с патчами по безопасности и обновленными драйверами;
* новая среда установки и администрирования Alterator;
* поддержка хранения учётных записей в базе LDAP (большинство сетвых сервисов автоматически используют эту базу для управления доступом);
* новые модули настройки (в том числе резервное копирование, управление DHCP- и FTP-сервером);
* почтовый сервер (Postfix) с фильтрацией спама (SpamAssassin) и антивирусом (ClamAV);
* поддержка платформ x86 и x86-64.

Версии основных компонентов: ядро Linux на основе 2.6.18, glibc - 2.5, libgcc 4.1.1, Python 2.4.4, RPM на основе 4.0.4, OpenLDAP 2.3.35, OpenSSH 4.7p1, Apache 1.3.41 и 2.2.6, Postfix 2.4.7, SpamAssassin
3.2.1, ClamAV 0.92.1, OpenSSL 0.9.8d, Samba 3.0.28, MySQL 5.0.51, PostgreSQL 8.2.4.


Нужно посмотреть сегодня поставил на закачку,,, кстати там имеется поддержка vhcs2 http://alt.linux.kiev.ua/srpm/vhcs2/get ;


 A по  ссылке внизу можно будет найти, установочные файлы с расширением, .rpm. Есть идейка загрузить все необходимые пакеты которые для меня будет важными и записать на один диск DVD. 


ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/4.1/branch/x86_64/RPMS.classic/

Microsoft заплатит $100 млн за совм-сть с Linux

Корпорация Microsoft потратит $100 млн на покупку сертификатов Novell SUSE Linux для обеспечения совместимости продуктов. В рамках соглашения от 2006 г. Novell уже получила от Microsoft $156 млн. Союз компаний необходим тем, кто использует открытые и проприетарные операционные системы вместе.

Microsoft и Novell объявили о новой совместной инициативе. Софтверный гигант заплатит $100 млн за сертификаты Novell SUSE Linux для обеспечения совместимости своих продуктов с открытым ПО. Кроме того, компании продолжат совместную работу над технологиями виртуализации, идентификации и управления. Согласно договоренности сторон, выплата будет осуществлена 1 ноября 2008 г., сообщает Reuters.

Напомним, что первое партнерское соглашение между Microsoft и Novell было заключено в ноябре 2006 г. сроком на 5 лет до 1 января 2012 г. В рамках сотрудничества Microsoft согласилась на покупку сертификатов Novell на общую сумму в $240 млн. Спустя полтора года с момента подписания документов Microsoft выплатила Novell $156 млн. Приобретенные сертификаты могут использоваться клиентами Microsoft, которые должны выплачивать за них лицензионные отчисления. Таким образом, достигается совместимость серверов, работающих на базе Windows Server и SUSE Linux Enterprise Server, размещенных в одних сетях. Такая смешанная инфраструктура используется, например, компаниями Wal-Mart, HSBC Holdings, BMW и Southwest Airlines.

«Целью союза Microsoft и Novell, заключенного в ноябре 2006 г., является прокладка моста между открытым и проприетарным программным обеспечением. Это делается для того, чтобы различные организации, вынужденные использовать разные операционные системы, не беспокоились о нарушении чьей-либо интеллектуальной собственности», — говорит вице-президент Novell Сюзан Хейсти (Susan Heystee).

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

Отметим, что союзное соглашение между Microsoft и Novell от 2006 г. вызвало негодование со стороны open source сообщества, так как, среди прочих условий, содержало пункт, в котором говорилось о том, что ни Microsoft, ни Novell не имеют права судить пользователей друг друга, обвиняя их в нарушении патентов.


вторник, 19 августа 2008 г.

VHCS2 in Ubuntu Server

Приведенной ниже ссылке можно будет получить информацию по установке VHCS2. У меня возникли трудности, как переместить с директории temp в директорию /var/www/vhcs2, предворительно заранее было создано директория.

Вот следующим образом можно создать рабочую директорию.
mkdir -p /tmp/vhcs_tmp/install
cd /tmp/vhcs_tmp/install
Загрузить и разархивировать там описивается так:
# wget http://easynews.dl.sourceforge.net/sourceforge/vhcs/vhcs2-2.4.7.1.tar.bz2
# tar xjvf vhcs2-2.4.7.1.tar.bz2
# cd ./vhcs2-2.4.7.1

https://help.ubuntu.com/community/VHCS

понедельник, 18 августа 2008 г.

Истории курьезы чтоли,,.

Вы найдете прекрасный пример  разных историй. Этот сайт можно было бы считать из ряда вон выходящим. Но если Вы имеете хорошее чувство юмора и не возражаете смеяться над самим собой непосредственно, то тогда должны  получить большое количество забавы, исследуя эти страницы. Создатели участка в основном делают мини-эпизоды, которые являются комедией части, драмой части и многими из них основанный на историях, подвергавших реальными посетителями участка.


http://itroom.com

Практический подход, к творчеству

Если Вы предпочитаете больше практического подхода, то тогда почему бы не проверить этот вебсайт? Цель сайта принести самостоятельное мышление во всех технологиях в вашей жизни. Сам журнал находится в формате онлайн, видео, и комментарии проектам имеется.. http://makezine.com/

пятница, 15 августа 2008 г.

VHCS2 on Ubuntu 6.06 LTS (Dapper)

 



The box this blog is hosted on was running an aged Ubuntu Breezy 5.10 - as support for that version was stopped some time ago I thought it a good idea to upgrade to 6.06 LTS (Dapper). So a quick edit of the /etc/apt/sources.list changing every mention of 'breezy' to 'dapper', a 'sudo apt-get update' and finally a 'sudo apt-get dist upgrade' and we were off.


No major dramas - after a reboot it all came back up, web was working, mysql was working - all looked fine. However, inbound and outbound email had died - the mail.info log was full of messages from postfix stating "delivery temporarily suspended: connect to 127.0.0.1[127.0.0.1]: Connection refused". After a lot of head scratching and poking around on google it became clear that postfix couldn't hand the email over to amavis for virus checking. This was because the upgrade to Dapper had installed a new version of amavis which had kindly renamed the old amavis config in /etc/amavis to 'amavisd.conf.disabled' - the fact this file existed stopped amavis from starting (a fact revealed by running "amavisd status") - simply removing the file and restarting the amavis service did the trick and postfix started working again.


BUT email still wasn't appearing in the inbox, something else in the process had failed too. More head scratching, more google research and the culprit was revealed to be spamassasin. Checking the spamassasin install (run "spamd --help") showed it was missing the libio-socket-ssl-perl package - a quick apt-get install later followed by a spamassasin service restart and we were back in business!


A browse through the VHCS2 log files revealed another issue which was solved by editing /var/www/vhcs2/engine/vhcs2_common_code.pl and adding ‘keysize’ => 32, to the section starting with "my $cipher = Crypt::CBC -> new(".


The final problem to solve was that the webmail interface had stopped working, when a user attempted to logon to their webmail account they got "ERROR (2): Header may not contain more than a single header, new line detected. (/webmail/inc/inc.php:169) " - this turned out to be simple to fix. Edit inc.php and find the section that reads;

Header("Expires: Wed, 11 Nov 1998 11:11:11 GMT\r\n".
"Cache-Control: no-cache\r\n".
"Cache-Control: must-revalidate")

And remove the "\r\n" from the first two lines.

четверг, 14 августа 2008 г.

Dreamhost: про Google, 50$ и бонусный домен

Вот одно оналогичное решения для хостинга, можно будет потом посмотреть как все это работает, кстати до этого я разместил пару сайтов на бесплатном хостинг с поддержкой php и mysql

 

Google уже давно предоставляет пользователям возможность привязывать сервисы Google Apps к собственным доменным именам. Благодаря этому можно, например, получить «свой собственный» Gmail, заменив им веб-почту хостинг-провайдера (как правило, весьма убогую). Это позволяет создавать почтовые аккаунты на своем собственном домене и иметь к ним доступ, например, с адреса mail.yourdomain.com.

Тем не менее, для того чтобы все правильно настроить, потребуется совершить определенные телодвижения, связанные с корректированием MX записей в DNS. И если отсутствует опыт или понимание сути выполняемых операций, становится довольно легко что-нибудь сломать, сделав почтовые сервера временно недоступными (и соответственно, потерять пришедшую за это время почту).


Совсем недавно, возможно даже сегодня, в контрольной панели Dreamhost появилась возможность очень просто включить сервисы Google для любого из своих доменов, избежав тем самым рутинной настройки и избавив себя от риска поломать DNS.


Gmail и Google Apps могут быть включены отдельно — для того и другого нужно просто поставить соответствующую галку в настройках домена. При этом автоматически создадуться субдомены mail.yourdomain.com, calendar.yourdomain.com, docs.yourdomain.com, sites.yourdomain.com и start.yourdomain.com. Ну а если вдруг вам нравится делать сайты Page Creator-ом, можно полностью отвести домен под сервисы Google:


источник

среда, 13 августа 2008 г.

TopServer


Давно смотрю и ищу разные возможности легко поднять свой сервер ниже приведено информация которая мог бы в будущем применить, (чисто хотелось бы посмотреть, разные готовые программы для винды.) привожу как чисто для информации. Вообще мне для локальной проверки нравиться Appserv…


TopServer представляет собой мощный, удобный и простой в использовании сервер приложений (серверный пакет), состоящий из лучших на данный момент серверных компонентов последних версий, таких как веб-сервер Apache, PHP, MySQL, PERL, SQLite, SlimFTPd и других. В состав TopServer также входят мощные и удобные средства администрирования серверных компонентов, такие как phpMyAdmin, SQLiteManager, PHPsFTPd, PHPfm и другие.

Сервер приложений TopServer создан преимущественно для установки на локальный компьютер (сервер), устанавливаемый с целью локального тестирования и отладки PHP и PERL скриптов, создания сайтов, содержащих динамические страницы с использованием языка сценариев PHP и PERL, баз данных MySQL и SQLite, организации хостинга в рамках локальных сетей различного уровня, в качестве сервера сети организации и других целей.
источник: http://nnm.ru
Скачать
ifolder 7мб - http://ifolder.ru/6764388

JetBrains IntelliJ IDEA



Давльно таки интересная среда разработки которая мне нравиться:  Вот нашел очиредную версию..

JetBrains IntelliJ IDEA - интеллектуальная интегрированная среда разработки Java, сосредоточенная на производительности разработчика, которая обеспечивает устойчивую комбинацию расширенных инструментальных средств. Функциональные возможности IntelliJ IDEA продлены на пользователей и третьи лица. Сильный редактор, который распознает Java, HTML/XHTML, XML/XSL, CSS, Ruby и JavaScript, поддерживает структуры подобно Rails и GWT, обеспечивая вас средой для передового кодирования. Вне зависимости от того, какой язык вы используете, расширенное обеспечение кода, проверка правильности, форматирование и моделирование - всегда в ваших руках. Расширенная проектная навигация структуры кода упрощает анализ даже больших файлов, обеспечивая удобный способ их просмотра. Поиск распознает элементы языков, показывая результаты в интерактивной навигационной панели, помогая вам проанализировать все найденные файлы.

Первая версия IntelliJ IDEA появилась в январе 2001 года и быстро приобрела популярность, как первая Java IDE с широким набором интегрированных инструментов для рефакторинга, которые позволяли программистам быстро реорганизовывать исходные тексты программ. Дизайн среды ориентирован на продуктивность работы программистов. Начиная с шестой версии продукта IntelliJ IDEA предоставляет интегрированный пользовательский интерфейс как часть одного из своих плагинов. Среди прочих возможностей, IntelliJ IDEA хорошо совместима со многими популярными open source инструментами разработчиков, такими как CVS, Subversion, Apache Ant и JUnit. В феврале 2007 разработчики IntelliJ анонсировали раннюю версию плагина для поддержки программирования на языке Ruby.

Ключевые особенности:

Интеллектуальная помощь в кодировании
Сильный редактор, который распознает Java, HTML/XHTML, XML/XSL, CSS, Ruby и JavaScript, поддерживает структуры подобно Rails и GWT, обеспечивая вас средой для передового кодирования. Вне зависимости от того, какой язык вы используете, расширенное обеспечение кода, проверка правильности, форматирование и моделирование - всегда в ваших руках.

Навигация и поиск
Расширенная проектная навигация структуры кода упрощает анализ даже больших файлов, обеспечивая удобный способ их просмотра. Поиск распознает элементы языков, показывая результаты в интерактивной навигационной панели, помогая вам проанализировать все найденные файлы.

Многочисленный рефакторинг
Богатый набор рефакторинга (50+) охватывает фактически каждый аспект преобразования кода и позволяет вам эффективно поддерживать и модернизировать проекты. Все рефакторинги поддерживают языки и технологии Java, XML, JSP, EJB, Javascript и Ruby и обеспечивают гибкое управление кодом.

Анализ кода
Встроенный анализатор динамического кода с более чем 600 видами проверки, выполняет "на лету" анализ кода и обнаруживает общие синтаксические ошибки, плюс другие ошибки, которые были обнаружены в течении компиляции. Статистический анализ кода обнаруживает критические параметры работы, "мертвые" коды, деформированные зависимости и другие проблемы с кодами. IntelliJ IDEA обеспечивает вас автоматическим решением для обнаружения всех ошибок.

Компилирование, выполнение, отладка
IntelliJ IDEA поддерживает многочисленные Java компиляторы (javac, jikes, eclipse). Вы можете компилировать проекты, используя ваш любимый компилятор, без необходимости установки интегрированной среды разработки. IntelliJ IDEA включает лучший из поколения JPDA отладчик, с простым и удобным пользовательским интерфейсом. Уникальная HotSwap технология позволяет вам модифицировать и рекомпилировать части кода в течение процесса отладки, без необходимости запуска целого процесса.

API и плагины
Имеется более чем 300 дополнений к программе IntelliJ IDEA, которые расширяют ее функциональные возможности и добавляют различные особенности для проверки кода и рефакторинга, редакторы и инструменты, поддержку языков и прикладных серверов и т.д.
источник: www.nnm.ru
OC: Windows NT/2000/XP/2003/Vista
Интерфейс: English
Размер: 88,5 Mb

Mess Box AR v4.0.0.26 RU

Cегодня просматривая порталы, нашел программу которая могла бы делать ехе файлы без особых усилий посмотрим что она умеет делать..


Mess Box AR - это мощное и удобное средство для создания программ неспециалистами, т е без навыков программирования. Программа обладает удобным и интуитивно понятным интерфейсом, а также полным набором необходимых функций для профессионального создания мультимедийных приложений и прикладных задач.

Программа включает в себя ряд интересных возможностей, Mess Box AR позволяет создавать фотоальбомы, аудио-плееры, программы для финансовых и математических расчетов, стильные меню и многое другое. Особенностью процесса создания является отсутствие надобности написания программного кода, что исключает требование знания языков программирования при работе в среде Mess Box AR.


 Особенности Mess Box AR
Создание exe-программ, не требующих никаких доп. библиотек
Возможность создания программ, без написания программного кода
Полный инструмент для создания окон, с нестандартным интерфейсом
Создание меню с неограниченным количеством форм (подменю)
Поддержка DLL-плугинов
Более 10 объектов для создание красочного и интуитивно понятного интерфейса
Возможность использовать функцию переменных сред, для более удобного создания меню CD
Интуитивный скриптовой язык для гибкого создания прикладных задач и меню
Прикладные возможности Mess Box AR
Использование переменных различных типов
Манипулирование с числами, как с вещественными так и с целыми
Полный набор математических функций (округления, арифметические функции, финансовые и др)
Функции для работы с файловой системой
Функции для работы со строками
Постоянное расширение прикладных возможностей...
Mess Box AR 4.0.0.26
Новые возможности:
* Абсолютная поддержка обложек – скинов (мощная система скинизации – alphaskins)
* 42 красивых и готовых уже к работе скина
* Абсолютно новая технология поможет тебе создавать exe-файлы огромных размеров с большим количеством картинок, звуков и музыки в одном файле *.exe
* Новый объект Text 3D, с помощью которого ты без труда создашь слайд шоу из 3D-трехмерного текста (используется OpenGL)
* Новые действия – диалоги открытия, сохранения файлов, выбора папки, цвета, даты, с еще более легкой реализацией
Более подробно: http://dim-s.net/index/0-4

Google стал частью ОС на базе Linux




Вот нашел новость про Linux совместно с Google OS..

В операционную систему gOS 3 Gadgets, предназначенную для нетбуков, будут встроены приложения от компании Google, среди которых Google Docs, Google Spreadsheets и Picasa.

Об интеграции в операционную систему gOS 3 Gadgets приложений от компании Google заявил Дэвид Лю (David Liu), президент компании Good OS LLC, которая является разработчиком gOS, на конференции LinuxWorld в Сан-Франциско.

Среди интегрированных в gOS 3 Gadgets приложений будут Google Docs, Google Spreadsheets, Google Gadgets, Picasa и другие.

Операционная система gOS 3 Gadgets предназначена для установки на так называемые нетбуки — ультрадешевые ноутбуки. Она распространяется бесплатно на основе открытой лицензии и будет доступна уже в сентябре 2008 г.

Как отмечают аналитики, с помощью интеграции своих приложений в gOS 3 Gadgets компании Google удастся значительно увеличить количество их пользователей, ведь в ближайшие два года ожидается взрывной рост популярности нетбуков.

Платформа Google Gadget предоставляет инструменты для разработки небольших приложений, которые размещаются на рабочем столе и помогают решать локальные задачи. По мнению Дэвида Лю, использование мини-приложений от Google очень хорошо подходит для нетбуков, так как они используют существенно меньше ресурсов по сравнению с другими программами. gOS 3 Gadgets также даст пользователям доступ к более чем 100 тыс. гаджетов на сайте Google, сообщает eWeek.

«Мы рады, что gOS 3 Gadgets сможет предоставить пользователям доступ к огромной базе приложений Google. С их помощью наша операционная система идеально подойдет для использования на маломощных ноутбуках», — сказал Лю.

Сейчас интернет-гигант и Good OS LLC работают совместно над интеграцией приложений в gOS 3 Gadgets. Google также активно участвует в работе над другими open-source-проектами, такими, как Wine — эмулятор, позволяющий запускать приложения для Windows на операционных системах с ядром Linux.

По данным исследовательской компании IDC, ежегодные продажи нетбуков увеличатся до 9 млн. к 2012 г. Компании Asustek, например, удалось продать около 350 тыс. ультрадешевых Eee PC в первые четыре месяца после запуска этой модели.

Ubuntu Server and ISPconfig

Недавно мне необходимо было для своего проекта поднять хостинг сервер, были задумки разместить, несколько сайтов с панелем управления, выбор пал на Ubuntu 8.04 LTS Server..


Сразу скажу было не легко подобрать подходящий панель, сдесь я приведу несколько ссылок для загрузки и для дальнейщей работы.


http://ispconfig.org/  мне понравилась это панелька тем что, она была бесплатной и было подробное описание и документация, уверен что и есть и другие хостинг контроли для этой задачи.. Кстати выбор Vurtual Host control (всех их описаний) я нашел по этой ссылке   www.helphost.ru 


Да кроме этого можно найти описание с фотографием и по шаговую инструкцию http://www.howtoforge.com/perfect-server-ubuntu8.04-lts-p5      ((P2–p3–)) Так разделены страницы их всего 5  До этого был опыт с VHCS2   на Debian. Через определенное время через root пароль не стал пускать. Интересно что когда добавляешь новый домен она через определенное время перезапускал apache..

среда, 14 мая 2008 г.

Освежил память на собеседований для сис.админа

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

Вот выдержка непомню источник (лежал недолго в блакноте) :-)

в общем список таких вопросов стоит денег ;-)
но я бы не взял админа, который не знает базовые вещи т.к. даже не знание кого-то конкретного продукта, с лёгкостью компенсируется знанием базовых вещей и быстрым обучением:
1) что такое модель OSI?
2) какие уровни OSI вы знаете?
3) http - это какой уровень?
4) какая разница между коммутатором, маршрутизатором и концентратором?
5) если web-сервер не пингуется, то как установить работает ли он?
6) что такое ping?
7) как работает команда traceroute/tracert ?
8) как работает DNS?
9) сколько DNS серверов необходимо иметь для поддержки зоны?
10) что такое WPA/WEP?
11) что такое VPN и какие основные варианты вы знаете?
12) что входит в понятие "информационная безопасность"?
13) что такое "защита периметра"?
14) для чего нужен RAID?
15) какие уровни RAID знаете?
16) что такое backup и как часто его нужно делать, recovery план?
17) что такое "терминальный сервер"?
18) какие типы терминальных серверов вы знаете?
19) можно ли флэшкой сжечь материнку?
это базовые вопросы, если предполагается поддержка пользователей (Help Desc), то рекомендую ещё и такого типа задания:
1) Вам звонит пользователь и говорит "У меня интернет не работает" - опишите последовательность ваших действий для решения проблемы?
2) В офисе выключилось электричество, UPS подключен (управление) только на 1 сервер, другие выключить не может, ваше действия по безопасному выключению серверов?
3) В понедельник в офисе 1/3 компьютеров поражена вирусами, ваши действия по борьбе с ними?
4) Представте абстрактный пустой офис на 50 рабочих мест (1С/МС Офис), опишите какие аппаратные средства и ПО необходимы для запуска его в работу?
если нет возможности нанять нормального админа или нет желания встать на аутсорс, то сильно рекомендую пригласить хорошего админа хотя бы на собеседования, чтобы он оценил качество ответов...

воскресенье, 13 апреля 2008 г.

css на MODx


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


_link href="/assets/snippets/poll.css" type="text/css" rel="stylesheet"_


((([!pollvote3? &amp;pollid=`2` &amp;redirect=`202` &amp;onevote=true &amp;ovmessage=`Вы можете проголосовать всего лишь один раз` &amp;resultsbutton=true!])))

четверг, 13 марта 2008 г.

Учиться php

Давно хотел освоить php, искал подходящую литературу по этому.. а желательно чтобы видео курсы были недавно нашел этот сайт.. http://www.php-mysql-video.ru


воскресенье, 3 февраля 2008 г.

МОЙ LINUX 4

МОЙ LINUX 4




Восстановливаем загрузчик после установки/переустановки Windows.

 

Средства восстановления и логирования ошибок в Windows столь несовершенны, что ее периодически приходится переустанавливать. Ну и с появлением Висты, нашлось много желающих ее установить. Хотя бы для исследовательских целей.

Инсталлятор Windows при этом всякий раз с упорством трактора переписывает загрузчик на себя.
Так что после первой перезагрузки вы уже не увидите своего любимого меню с пунктом "Linux".

Нехорошо, надо бы все вернуть.

В любом случае, если вы собрались что-то менять с загрузчиком - ставить Виндовс/или другиуие действия, лучше сделать бэкапы загрузочных областей и таблиц разбиения.

Сделать это можно так:

Полный бэкап MBR вместе с таблицой разбиения:


# dd if=/dev/hda of=/root/mbr.bin bs=512 count=1


Бэкап MBR без таблицы:


# dd if=/dev/hda of=/root/mbr.bin bs=384 count=1


if - ваш жесткий диск, а of - файл, в который ложим бинарный образ.

Таблицу разбиения можно подсмотреть коммандой:


# fdisk -l


В общем если вы установливали Windows, или испортили загрузчик каким другим способом, а до этого не подгототовились (не делали бэкап загрузчика) - невелика беда...
Точнее, вообще не беда!!!

*В любом случае вам нужен какой-то LiveCD/DVD.

Это может быть Ubuntu, Knoppix или любой другой.

**********************************************************************


Загрузиться с LiveCD/DVD.


Ищем консоль. su для входа суперпользователем.


# fdisk -l


Просматриваем таблицу разметки.

Создаем точку монтирования для линукс:


# mkdir /mnt/mylinux


Монтируем раздел:


# mount -t reiserfs /dev/hda6 /mnt/mylinux


Теперь можно восстанавливать загрузчик

Способ 1. Запись образа загрузчика:


# dd if=/mnt/mylinux/root/mbr.bin of=/dev/hda


Способ 2. Штатные средства самих программ-загрузчиков:

Делаем смонтированный диск текущим окружением:


# chroot /mnt/mylinux


Теперь ваша консоль будет работать от смонтированного раздела.

Теперь можно восстановить загрузчик LILO:


# lilo -b /dev/hda


**************************************************************

Загрузиться с LiveCD/DVD.


В консоли пишем следующее:


1. mkdir /mnt/linux (для Ubuntu: sudo mkdir /mnt/linux) - создать пустую папку для монтирования.
2. mount /dev/hda5 /mnt/linux - в данном случае hda5 - раздел, куда у вас установлен Linux.
3. chroot /mnt/linux - теперь команды будут исполняться из вашего линукса, а не с LiveCD.
4. lilo - загрузчик переустановится. Либо, grub-install, если вы пользуетесь Grub'ом.


***************************************************************

Загрузиться с LiveCD/DVD.


Смонтировать тот раздел жёсткого диска, на котором находится корневая файловая система Linux (выполнить mount раздел /mnt, где раздел - это имя соответствующего файла устройства, например:


/dev/hda1


Объявить раздел со смонтированной корневой файловой системой корневым:


chroot /mnt

и

lilo.


В случае, если потребуется изменить конфигурацию загрузчика, например, переместить его на другой диск или раздел, перед выполнением lilo нужно будет соответствующим образом исправить конфигурационный файл:


/etc/lilo.conf.


*********************************************************************

Загрузиться с LiveCD/DVD.


Если вы предпочитаете LILO, то порядок действий будет следующим.

Подключаем корневой раздел командой
mount [раздел] /mnt (вместо /mnt можно использовать любой другой свободный каталог).

Если незанятой директории не найдется, то ее можно создать командой


mkdir -p [каталог]).


Таким образом, все необходимые нам объекты будут находиться в директории


/mnt, ее приказом chroot /mnt и нужно объявить корневой.


И наконец, набрать в консоли lilo и нажать на Enter.

В результате LILO будет восстановлен в том виде, который он имел до разрушения.
При необходимости вносим изменения в конфигурационный файл.


/etc/lilo.conf.


Если вы используете GRUB, то порядок действий будет похожим.

При невозможности загрузиться нормальным способом следует опять же воспользоваться LiveCD. Только команда для восстановления будет выглядеть так:


grub-install —root-directory=[директория] [раздел].


После перезагрузки стартовый экран должен иметь первозданный вид.

************************************************************************

Пример, как восстановить загрузчик GRUB при помощи LiveCD Ubuntu.

Запускаемся с LiveCD дистрибутива...

..и работаем в консоли (терминале):


~$ sudo grub
> _

утилита будет ожидать ваших действий

ищем загрузчик:


~# find /boot/grub/stage2 (hd0,2)


подменили рута


~# root (hd0,2)



устанавливаем GRUB на hd0:


~# setup (hd0)

понедельник, 28 января 2008 г.

МОЙ LINUX 2

 


МОЙ LINUX 2

Основы работы в ОС Linux.

Естественные сочетания клавиш и обозначения

*Ctrl + Alt + F1 - Переключение на первый консольный терминал
*Ctrl + Alt + F# - Переключение на #ый консольный терминал (#=1..6)
*Ctrl + Alt + F7 - Переключение на графический терминал (если таковой запущен)
*Tab - Дополнение текущей последовательности символов, набранной в консоли, до исполняемой команды. Эта особенность сильно облегчает жизнь при наборе команд! Это работает также и при загрузке компьютера через LILO!
*ArrowUp - Просмотр и редактирование буфера истории команд.
Для исполнения команды нажмите Enter.
*Shift + PgUp - Просмотр текста выведенного на консольный терминал и ушедшего за приделы экрана. Перемещение вверх.
*Shift + PgDown - То же что и выше. Перемещение вниз.
*Ctrl + Alt + + - (в X-window) Изменение разрешения. Переключение к следующей конфигурации.
*Ctrl + Alt + - - (в X-window) Изменение разрешения. Возврат к предыдущей конфигурации.
*Ctrl + Alt + BkSpc - (в X-window) Убить текущий сервер X-window (выйти из графической оболочки уничтожив все процессы).
*Ctrl + Alt + Del - Перезагрузка компьютера.
*Ctrl + c - Убить текущий процесс.
*Ctrl + d - Выход из текущего терминала.
*Ctrl + d - Посылка текущему процессу сигнала [Конец-файла] (конец файла).
*Ctrl + s - Остановка вывода на терминал.
*Ctrl + q - Возобновление вывода на терминал. Попробуйте эту комбинацию клавиш, если ваш терминал непонятно почему перестал отвечать на ваши запросы.
*Ctrl + z - Послать текущий процесс в background.
*reset (команда) - Восстановление значений по умолчанию для «запорченного» терминала (терминал показывает странные символы и неадекватно реагирует на нажатие клавиш). Используйте эту команду если вы попытались вывести на экран бинарный файл.
Вероятно вы не сможете увидеть эту команду в процессе ее набора.
*Средняя кнопка мыши - Вставка выделенного курсором текста (это не работает в WordPerfect).
*~ (тильда) - домашняя директория. Например cd ~/моя_поддиректория.
*. (точка) - Текущая директория.
*.. (две точки) - Родительская директория для текущего каталога.

МОЙ LINUX 2

Стандартные команды и команды, дающие информацию по системе

Команды всегда набираются в одной строке.


*pwd - Вывести текущую директорию.
*hostname - Вывести или изменить сетевое имя машины.
*whoami - Ввести имя под которым я зарегистрирован.
*date - Вывести или изменить дату и время. Например, чтобы установить дату и время равную 2000-12-31 23:57, следует выполнить команду: date 123123572000
*time - Получить информацию о времени, нужного для выполнения процесса + еще кое-какую информацию.
Не путайте эту команду с date.

Например:

Определить как много времени требуется для вывода списка файлов в директории, набрав последовательность:


time ls


*who - Определить кто из пользователей работает на машине.
*rwho -a - Определение всех пользователей, подключившихся к вашей сети. Для выполнения этой команды требуется, чтобы был запущен процесс rwho. Если такого нет - запустите «setup» под суперпользователем.
*finger [имя_пользователя] - Системная информация о зарегистрированном пользователе. Попробуйте: finger root
*uptime - Количество времени прошедшего с последней перезагрузки.
*ps a - Список текущих процессов.
*top - Интерактивный список текущих процессов отсортированных по использованию cpu.
*htop - практически то же что и top, но в псевдо графическом виде(требует установки соответствующего пакета)
*uname - Вывести системную информацию.
*free - Вывести информацию по памяти.
*df -h (=место на диске) - Вывести информацию о свободном и используемом месте на дисках (в читабельном виде).
*du / -bh | more (=кто сколько занял) - Вывод детальной информации о размере файлов по директориям начиная с корневой (в читабельном виде).
*cat /proc/cpuinfo - Системная информация о процессоре. Заметьте, что файла в /proc директории - не настоящие файлы. Они используются для получения информации, известной системе.
*cat /proc/interrupts - Используемые прерывания.
*cat /proc/version - Версия ядра Linux и другая информация
*cat /proc/filesystems - Вывести используемые в данный момент типы файловых систем.
*cat /etc/printcap - Вывести настройки принтера.
*lsmod (как root) - Вывести информацию о загруженных в данный момент модулях ядра.
*set|more - Вывести текущие значения переменных окружения.
*echo $PATH - Вывести значение переменной окружения «PATH»
Эта команда может использоваться для вывода значений других переменных окружения. Воспользуйтесь командой set, для получения полного списка.
*dmidecode - Узнать о точном названии и версии BIOS, возможностях BIOS и другой интересной информации. Пишем под su. Весьма познавательно, и не нужно перезагружаться и входить в BIOS.
*fdisk -l /dev/hda - Сведения о ёмкости и геометрии винчестера запскаем через sudo.
*sudo hdparm -I /dev/hda - Запросить информацию о винчестере и его возможностях.
*hddtemp /dev/hda - Текущая температура винчестера.
*smartctl -a /dev/hda - Возможный выход винчестера из строя помогает засечь эта команда, с помощью которой так же можно протестировать жёсткий диск. Диагностический вывод весьма подробный.
*cat /proc/cpuinfo - Узнать подробности о процессоре. В результате получим весьма подробную информацию о процессоре.

Файловая система /proc является "слепком" состояния системы и её переменных, там хранится множество полезных сведений о системе. В каталоге /proc, хранятся и обновляются сведения о скоростях вращения вентиляторов, заряде батарей и прочем (если это поддерживается для вашего оборудования ядром).
Вот, к примеру, как можно узнать состояние батарей ноутбука:


cat /proc/acpi/battery/BAT0/info


Отсюда берут данные все графические утилиты мониторинга, типа klaptop_check (в KDE висит в трее и показывает состояние батареи). Весьма полезная, и главное - постоянно обновляемая информация.

*dmesg - Команда предоставляет доступ к логам ядра - того, что происходило при загрузке и того, что происходит в процессе работы. При загрузке устройства инициализируются и опознаются системой, и если что-то идёт не так, в логах обязательно это будет отражено.
Лог dmesg как правило очень длинный и изобилует подробностями работы с оборудованием. Читать его полностью довольно утомительно, поэтому стоит воспользоваться потоковой утилитой поиска grep.

Например, чтобы узнать подробности только о процессоре, нужно написать:


dmesg | grep CPU


Так можно многое узнать о работе своего железа. Эта информация может пригодиться при устранении проблем (последние строки dmesg содержат информацию о том, что происходило недавно с системой). Именно поэтому на многих форумах требуют выкладывать логи системы - это и есть исчерпывающая информация о работе вашей системы и её оборудовании.

Лог dmesg и многие другие логи хранятся в /var/log/ хотя часть из них доступна только привилегированному пользователю - воспользуйтесь sudo.

*lshw - Расширенная информация о конфигурации железа. Эта утилита по умолчанию, как правило, не устанавливается, но в репозиториях она должна быть (устанавливаем при помощи aptitude install lshw). Утилита lshw выводит структурированный список оборудования вместе с информацией об устройствах. Очень полезна для анализа оборудования.

Работа с сетью

*netconf (как root) - Очень хорошая программа настройки сети, использующая для интерактивной работы с пользованием, текстовое меню.
*ping [имя_машины] - «Проверка на вшивость». Есть или нет контакта с другой машиной (в качестве параметре команде можно передавать сетевое имя машины или IP адрес), нажмите <Ctrl_c> когда вся требуемая информация будет получена.
*route -n - Вывести таблицу маршрутизации (the routing table).
*ipfwadm -F -p m - Настроить firewall.
*ifconfig (как root) - Вывести информацию о текущих сетевых интерфейсах (ethernet, ppp, и т.д.) Ваша первая ethernet плата плата будет показана как eth0, вторая как eth1, первый ppp модем как ppp0 и так далее. «lo» - расшифровывается как «loopback only» сетевой интерфейс, который должен быть постоянно активирован. Используйте соответствующие опции (смотрите результат выполнения ifconfig –help) для настройки сетевых интерфейсов.
*ifup [имя_сетевого_интерфейса] - Активизация соответствующего сетевого интерфейса (/sbin/ifup при работе под обычным пользователем).
Пользователь может активизировать и выключить сетевое интерфейс ppp только когда установлены соответствующие права доступа (права можно установить в процессе настройки ppp через «netconf»).

Например:


ifup eth0
ifup ppp0


*ifdown [имя_сетевого_интерфейса] - Диактивизация соответствующего сетевого интерфейса (/sbin/ifdown при работе под обычным пользователем).

Простейшие действия

*ls - Список файлов в текущей директории.
При выполнении команды dir выполняется команда ls.
*cd [директория] - Сменить директорию.
*cp [что_копировать] [куда_копировать] - Копировать файлы.
*mcopy [что_копировать] [куда_копировать] Копировать файлы при работе с файловой системой dos (монтировать диска dos необязательно). Например: mcopy a:\autoexec.bat ~/junk . Для дополнительной информацией по подобным командам (mdir, mcd, mren, mmove, mdel, mmd, mrd, mformat …) ознакомьтесь с man mtools.
*mv [что_перемещать] [куда_перемещать] - Переместить или переименовать файл.
*ln -s [на_что_сделать_ссылку] [имя_ссылки] - Создать символическую ссылку.
*rm [файлы] - Удалить файлы.
*mkdir [директорию] - Создать новую директорию.
*rmdir [директорию] - Удалить пустую директорию.
*rm -r [файлы и/или директории] (рекурсивное удаление) - Удалить файлы, директории и их поддиректории. ОСТОРОЖНЕЙ с этой командой если у вас права суперпользователя! Пока у Linux нет системы полного восстановления удаленных файлов (если вы не пользуетесь специальными программами для помещения удаленный файлы в специальный каталог - a la корзинка под W95).
*cat [имя_файла] | more - Просмотр содержимого текстового файла по одной странице за раз.
*less [имя_файла] - Просмотр содержимого текстового файла с возможностью вернуться к предыдущим страницам. Нажмите q когда захотите выйти из программы. «less» - аналог команды DOS «more», хотя очень часто «less» бывает более удобной чем «more».
*pico [имя_файла] - Редактировать текстовый файл.
*lynx [html_файл или ссылка] - Просмотр файла html или WWW ссылки с помощью текстового браузера Lynx.
*tar -zxvf [файлы] - Распаковать архив tgz или tar.gz, который вы вытянули из сети.
*find / -name «имя файла» - Найти файл с именем «имя файла». Поиск начинается с директории / . «имя файла» может содержать маску для поиска.
*pine - Хорошая текстово - ориентированная программа для чтения электронной почты. Еще одна подобная программа называется «elm». Netscape считывает ваши письма с вашего Internet адреса, а pine позволяет вам просматривать «локальную» почту - то есть ту почту, которую вам посылает вам процесс son или cron.
*mc - Запустить программу оправления файлами «Midnight Commander» (Выглядит как «Norton Commander», но по своим возможностям ближе к far или dn).
*telnet [сервер] - Связаться по telnet с другой машиной. Используйте имя машины или ее IP адрес. Войдите с помощью вашего пароля (вы должны быть зарегистрированы на этой удаленной машине). Это позволит вам войти на другую машину и работать на ней, как будто вы сидите за ее клавиатурой (почти никаких отличий).
*ftp [сервер] - Связаться по ftp с удаленным компьютером. Этот тип связи хорош для копирования файлов с/на удаленную машину.
*minicom - Minicom - программа (выглядит как «Procomm для Linux»).
*./Имя_Программы - Запустить исполняемый файл в текущей директории, которая нет в списке директорий, указанных в переменной окружения PATH.
*startx - Запустить X-window сервер и установленный по умолчанию оконный менеджер. Похоже на то как вы набираете «win» под DOS с Win3.1
*xterm (в X терминале) - Запустить простой терминал в графической оболочке X-windows. Для того чтобы выйти из него наберите «exit».

Контроль процессов

*ps (=print status) - Вывести список текущих процессов с их IDs (PID) идентификаторами.

Используйте


ps axu


Для того чтобы отобразить все процессы запущенные на вашей системе, которые имеют вас в качестве хозяина (это касается и процессов которые отцеплены от терминала).

*fg [PID] - Вернуть фоновый или приостановленный процесс в интерактивное (высокоприоритетное) состояние;
*bg [PID] - Сделать процесс фоновым. Обратная функция от fg. Может следовать вслед за комбинацией <Ctrl_z>.
*kill [PID] - «Убить» процесс. Для начала определите PID «убиваемого» процесса при помощи ps.
*killall [имя_программы] - «Убить» все процессы по имени программы.
*xkill (в терминале X window) - «Убить» процесс, на окно которого укажите курсором.
*lpc (как root) - Проверить очередь принтера.
*lpq - Вывести список очереди заданий на печать.
*lprm [номер_задания] - Удалить задание из очереди на печать.
*nice [имя_программы] - Запустить процесс, установив его приоритет.
*renice [PID] - Изменить приоритет процесса.

Обратите внимание на комбинации клавиш: <Ctrl_c>, <Ctrl_z>, <Ctrl_s>, и <Ctrl_q>. Они описаны выше.

Основные Команды Администрирования

*printtool (как root в X терминале) - Сконфигурировать ваш принтер. setup (как root) Сконфигурировать мышь, звуковую карту, клавиатуру, графическую оболочку X-windows и системные службы.
Очень простая в пользовании программа.

*alias ls=«ls -Fskb –color» - Создать alias - псевдоним для того чтобы одной командой можно было запустить более сложную комбинацию команд. Поместите создание alias в файл /etc/bashrc если вы хотите, чтобы эти псевдонимы были доступны всем пользователям вашей системы.
*adduser [имя_пользователя] - Зарегистрировать нового пользователя (у вас должны быть права суперюзера).

Например:


adduser ivanov


Не забудьте следующим делом настроить пароль пользователя. Директория пользователя находится в каталоге /home/имя_пользователя.

*useradd [имя_пользователя] - То же, что и adduser.
*userdel [имя_пользователя] - Удалить пользователя из системы (вы должны зайти как root). С пользовательским каталогом и не прочитанными письмами удаленного пользователя нужно разбираться отдельно.
*groupadd [имя_группы] - Создать новую группу пользователей на вашей системе. Не обязательно создавать группу непосредственно на основной машине.
*passwd - Изменить пароль. Если вы суперпользователь, то вы можете изменить пароль любого зарегистрированного пользователя набрав команду:


passwd имя_пользователя


*chmod [права доступа] [файл] (=change mode) * Изменить права доступа файлов, чьим владельцем вы являетесь (если вы не root, в этом случае вы можете изменить права доступа для любого файла). Есть три способа доступа к файлу: чтение - read ®, запись - write (w), исполнение - execute (x) и три типа пользователей: хозяин файла - owner (u), члены той же группы, что и хозяин файла (g) и все остальные (o). Поверить текущие права доступа можно следующим способом:


ls -l имя_файла


Если файл доступен всеми способами всем пользователям, то напротив имени файла будет следующая комбинация букв:


rwxrwxrwx


Первые три буквы - это права доступа для хозяина/хозяйки файла, второй триплет - права доступа для его/ее группы, следующая тройка - права доступа для остальных. Отсутствие права доступа показывается как »-».;

Например:

Эта команда позволит вам установить права доступа на чтение для файла «junk» для всех (all=user+group+others):


chmod a+r junk


Эта команда отнимет право доступа на исполнение файла у всех кроме пользователя и группы:


chmod o-x junk


Для получение дополнительной информации наберите:


chmod –help или man chmod или почитайте любое руководство по Linux.


Вы можете установить права доступа по умолчанию для создаваемых вами файлов с помощью команды «umask» (наберите man umask).

*chown [новый_хозяин] [файлы]
*chgrp [новая_группа] [файлы] - Изменить хозяина и группу для файла.
Вы можете использовать эти две команды, после того как сделали копию файла для кого-либо.
*su (=super user) - Вход в систему как суперпользователь (у вас спросят ваш пароль).
Набрав «exit» вы вернетесь в вашу предыдущую пользовательскую оболочку.
Пользователь root существует для администрирования системы и команда su дает быстрый доступ к возможностям суперпользователя, когда вам это потребуется.

Установка Drupal

Установка


среда, 23 января 2008 г.

MODx Специальные теги

Специальные теги


Для вывода динамических данных используются специальные теги.


Системные


[(site_name)] - название сайта
[(base_url)] или [(site_url)] - адрес сайта (http://www.modx-cms.ru)
[(modx_charset)] - используемая кодировка
[^qt^] - время на запросы к базе данных
[^q^] - запросов к базе данных
[^p^] - время на работу PHP скриптов
[^t^] - общее время на генерацию страницы
[^s^] - источник содержимого (база или кэш)


Стандартные


[*pagetitle*] - заголовок документа
[*longtitle*] - расширенный заголовок документа
[*description*] - описание документа
[*introtext*] - аннотация документа
[*content*] - содержимое документа
[*alias*] - псевдоним документа
[*id*] - идентификатор (номер) документа
[*pub_date*] - дата публикации дкоумента
[*unpub_date*] - дата завершения публикации
[*createdby*] - Идентификатор пользователя создавшего документ
[*createdon*] - Дата создания документа
[*editedby*] - Идентификатор пользователя редактировавшего документ
[*editedon*] - Дата редактирования документа
[~идентификатор~] - URL указанного документа


Дополнительные


[*type*] - вариант (документ, папка или ссылка)
[*contentType*] - тип содержимого (например, text/html)
[*published*] - опубликован ли документ (1|0)
[*parent*] - номер (ID) родительского документа
[*isfolder*] - является ли документа папкой (1|0)
[*richtext*] - используется ли при редактировании документа визуальный редактор
[*template*] - номер (ID) используемого шаблона для документа
[*menuindex*] - порядковый номер отображения в меню
[*searchable*] - доступен ли документ для поиска (1|0)
[*cacheable*] - Кэшируется ли документ (1|0)
[*deleted*] - Документ удален (1|0)
[*deletedby*] - Идентификатор пользователя удалившего документ
[*menutitle*] - Заголовок меню. Если не используется, то заголовок документа
[*donthit*] - Слежение за количеством посещений отключено (1|0)
[*haskeywords*] - Документ содержит ключевые слова (1|0)
[*hasmetatags*] - Документ имеет метатеги (1|0)
[*privateweb*] - Документ входит в частную группу пользовательских документов (1|0)
[*privatemgr*] - Документ входит в частную группу менеджерских документов (1|0)
[*content_dispo*] - Вариант выдачи содержимого (1 - для отображения | 0 - для скачивания)
[*hidemenu*] - Документ не отображается в меню (1|0)


Параметры TV, сниппеты и чанки


[*НазваниеПараметраTV*] - выводит значение параметра в документе.
{{НазваниеЧанка}} - возвращает содержимое чанка.
[[НазваниеСниппета]] - возвращает результат работы сниппета. Также можно передавать сниппету дополнительные параметры, перечисляя их при вызове - [[НазваниеСниппета? &параметр1=`значение1` &параметр2=`значение2` &параметрN=`значениеN`]
[+НазваниеПеременной+] - встречается в чанках, которые используются для обработки (Ditto, eForm и т.д.). После обработки вместо них вставляются значения. Таким образом, это тоже вроде мини-языка, но для сниппетов.


Нюансы


1) На самом деле есть два варианта вызова сниппета:
[[НазваниеСниппета]] - кэшируемый вызов сниппета
[!НазваниеСниппета]] - некэшируемый вызов сниппета

2) При использовании дополнительных параметров в сниппете нужно убедиться, что запись не разбивается переносом строки. Если это так, то сниппет откажется работать.


Где использовать


Все очень гармонично используется друг с другом.
В шаблонах можно использовать параметры TV, сниппеты и чанки.
В чанках можно вызывать сниппеты, параметры TV и другие чанки.
В сниппетах можно вызывать вообще все, но через PHP.
В конечном счете вам вернется итоговый результат обработки всех сниппетов/чанков/параметровTV.


Пример шаблона



<html>
<head>
<title>[(site_name)] | [*pagetitle*]</title>
<meta http-equiv="Content-Type" content="text/html; charset=[(modx_charset)]" />
<base href="[(site_url)]"></base>
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="[(site_url)][~11~]" />
</head>
<body>

<div id="header">
<h1><a id="logo" href="[~[(site_start)]~]" title="[(site_name)]">[(site_name)]</a></h1>
<div id="ajaxmenu"> [[Wayfinder?startId=`0` &outerTpl=`mh.OuterTpl` &innerTpl=`mh.InnerTpl` &rowTpl=`mh.RowTpl` &innerRowTpl=`mh.InnerRowTpl` &firstClass=`first` &hereClass=``]] </div>
</div>

<h2>News:</h2>

[[Ditto? &startID=`2` &summarize=`2` &total=`20` &commentschunk=`Comments` &tpl=`nl_sidebar` &showarch=`0` &truncLen=`100` &truncSplit=`0`]]

<div id="content">
<h2>[*longtitle*]</h2>
[*#content*]
</div>

</body>
</html>

На эту информацию опирается все остальное.

MODx eForm



eForm это замечательный инструмент по работе с формами (обратная связь, анкеты и т.д.). Для начала, чтобы разобраться в нем я решил сделать перевод возможных параметров. К нему можно относиться и как к набору возможностей.

Текст получается очень объемный, так как возможностей очень много.

Описание

eForm занимается обработкой данных, которые пользователи вводят в формы на сайте. Полученные данные можно отослать по электронной почте используя формат html, вложения, автоответчик, а также расширенную обработку данных и генерацию настраиваемых отчетов.

Обязательные параметры


&formid

Идентификатор формы, который используется при отправке данных. Этот параметр необходим если на странице используется более одной формы. Шаблон вашей формы должен иметь скрытое поле с тем же идентификатором: <input type="hidden" name="formid" value="formName" /> или (начиная с eForm 1.4.x) вы можете установить идентификатор прямо в теге формы: <form id="formName"...>;

&tpl


Название чанка (не число) или идентификатор документа (число) для используемого шаблона (новое в 1.4.4) Вы можете также использовать сниппет как источник шаблона. При этом никакие параметры не передаются. Для регулярных полей формы вам не нужно включать переменные, так как они автоматически включаются eForm, исключая случаи когда вы сами задаете значения. Доступны специальные переменные: [ +validationmessage+], [ +postdate+],[ +verimageurl+] и [ +debugText+]. Каждая форма должна содержать переменную [ +validatiomessage+].

&report

Название чанка (не число) или идентификатор документа (число) для шаблона отчета. Должна содержать каждая форма.

Дополнительные параметры

&to (необязательно)

Адрес Email на который будет послана информация. Можно использовать несколько адресов разделяя их запятой (,). Если не указано, то будет использован системный адрес.

&from (необязательно)

Устанавливает адрес отправителя письма.

&fromname (необязательно)

Устанавливает имя отправителя письма.

&replyto (необязательно)

Электронный адрес или поле содержащее адрес, который будет использован в письме для ответа.

&sendirect (необязательно)

Включает возможность использовать поле формы для определения адреса, по которому будет послано письмо.


  • 1 - включение

  • 0 - выключение (по умолчанию)

&cc (необязательно)

Также как &email но для Cc:

&bcc (необязательно)

Также как &email но для Bcc:

&ccsender (необязательно)

Послать копию данных формы пользователю. По умолчанию установлено в 0. eForm ищет адрес пользователя в поле с названием email.

  • 1 - включить

  • 0 - отключено (по умолчанию)

&subject (необязательно)

Тема сообщения, которая может включать [ .поля формы.]. Например: Спасибо за ваш заказ [ .firstname.] [ .lastname.]

&noemail (необязательно)

Защищает eForm от посылки писем.
  • 1 - отключить отправку писем

  • 0 - включить отправку писем (по умолчанию)
&mailselector (необязательно)

Устанавливает поле формы, которое будет использоваться при выборе единственного адреса из списка адресов разделенных запятой (,) для использования в параметре &to. Значения поля будет определять номер используемого почтового адреса. Номер 1 соответствует первому адресу и N - последнему.

Пример: &to =`sales@me.com,support@me.com,billing@me.com` &mailselector=`topic` В форме используется поле topic в виде выпадающего списка. Когда пользователь выбирает значение, то тем самым он определяет один адрес, по которому будут посланы данные формы.
&mobile
(необязательно)

Адрес почты мобильного устройства. Используется для отсылки короткого сообщения.

&mobiletext (необязательно)

Сообщение для отправки на мобильное устройство. Может содержать [ .поля формы.]. Например: Заказ для [ .firstname.].

&thankyou (необязательно)

Название чанка (не число) или идентификатор документа (число) для используемого шаблона сообщения выводимого пользователю после отправки данных формы. Теги как у &tpl

&gotoid (необязательно)

Идентификатор документа на который будет совершен переход после отправки данных формы. Смотрите также &thankyou.

&category (необязательно)

Название или идентификатор категории используемый для категоризации eForm. Если категория не найдена, то она автоматически будет создана. Это используется в теме сообщение.

&keywords (необязательно)

Разделяемые запятой (,) ключевые слова или [ +поле формы+] используемое при поиске банка данных. Например: [ +firstname+], [ +lastname+], [ +email+]

&autosender (необязательно)

Адрес электронной почты, который показывается при отправке сообщения автоответчика. Например: no-reply@mydomain.com


&autoSenderName (необязательно)


Имя, используемое в сообщении автоответчика.


&automessage (необязательно)


Название чанка (не число) или идентификатор документа (число) для используемого шаблона в сообщении автоответчика. Может содержать [ .поля формы.].


&allowhtml (необязательно)


Включает использовании пользователями HTML в сообщении.



  • 1 - включено

  • 0 - выключено (по умолчанию)

&language (необязательно)


Устанавливает используемый язык сообщений и проверки. Название языков совпадает с MODx.


&vericode (необязательно)


Включает код проверки. Шаблон должен содержать поле для проверки и переменную [ +vericode+].


&debug (необязательно)


Включает расширенные сообщения об ошибках в проверке формы. В основном для отладки #LIST и #SELECT.


&sendAsHtml (необязательно)


Определяет, какие сообщения будут использовать формат html.



  • 1 - все сообщения

  • report, autotext, mobile - конкретные типы сообщений

&sendAsText (необязательно)


Определяет, какие сообщения будут использовать текстовый формат.



  • 1 - все сообщения

  • report, autotext, mobile - конкретные типы сообщений

&sessionVars (необязательно)


Названия переменных сессии $_SESSION, разделенные запятой (,). Они будут добавлены в список значений полей перед отображением формы и может быть использована качестве скрытых полей. Если вы используете этот параметр, то убедитесь, что вы не раскрываете важную информацию сессии (скрытые поля не защищают информацию!).


Так как eForm не выполняет самостоятельную обработку таких значений, то вам необходимо включить их в шаблон. Например: [ !eForm &sessionVars=`jobID` ... ]] и <input type="hidden" value="[<!-- -->+jobID+]" />


&postOverides (необязательно)


Используется в комбинации с &sessionVars. Переменные сессии будут переписаны введенными в форму значениями. При установке значения 1 полученные в форме данные получают приоритет.


&reportAbuse (необязательно)


При установке значения `1` будут посылаться сообщения на специальный электронный адрес если будет замечена попытка инъекции eForm (используйте умеренно).


&cssStyle (необязательно)


Добавляет определение стиля в область страницы, на которой располагается форма или сообщение для пользователя показываемое после отправки (только если параметр &thankyou установлен). Значения могут быть в виде идентификатора документа (число), имени чанка или ссылки на таблицу стилей (относительная или абсолютная). Можно использовать несколько значений разделяя их запятыми (,) (фактически можно комбинировать все три вида значений).


Примеры:


[ !eForm &cssStyle=`assets/site/forms.css,chunkName` ... ]] [ !eForm &cssStyle=`chunkName` ... ]] [ !eForm &cssStyle=`http://mysite.com/assets/styles/forms.css` ... ]]


Чанки (и документы, если установлен идентификатор документа) могут использовать значения в форме:



  1. как встроенный блок : /*какие-то стили*/

  2. как ссылка на таблицу стилей:

  3. как разделенный запятой (,) список ссылок на таблицы стилей: assets/site/forms.css,assets/site/more.css,assets/site/gone_overboard.css

&jScript (необязательно)


Аналогично с &cssStyle, но для добавления javasript в область страницы. На текущий момент может быть использовано только при отображении формы.


&protectSubmit (необязательно) по умолчанию - 1 (включено)


Защита формы от повторной отправки с теми же данными. Отправка данных формы автоматически отключается после первой успешной попытки пока ключ формы является одним и тем же. Для этого используется переменной сеанса с md5 хэшем в качестве ключа. Какие поля используются для сравнения задается в параметре &protectSubmit. Возможные значения:



  • 0 - выключено

  • 1 - используются все поля `required`

  • Список полей - список используемых полей через запятую.

Чтобы гарантировать, что используются соответствующие поля для разных форм переменная сессии основана на &formid ({ formid}_hash).


&submitLimit (необязательно) по умолчанию - 0 (выключено)


Устанавливает лимит времени (в минутах) между отправками данных формы. После первой успешной отправки данных запрещает отправку других данных на определенное время. При использовании совместно с &protectSubmit этот параметр имеет приоритет, позволяя повторную отправку данных независимо от установки &protectSubmit (будет сброшена сессионная переменная). Как и &protectSubmit этот параметр использует сессионную переменную основанную на &formid.


&requiredClass (необязательно)


Название класса. Добавляет класс в определенные поля формы при проверке. Существующие классы будут сохранены.


Если вы уже определили класс для полей или меток (label) и получили неожиданные результаты, то проверьте порядок определения классов. &requiredClass устанавливается в начало любых классов, которые уже установлены.


&invalidClass (необязательно)


Название класса. Добавляет класс к неправильно заполненным полям формы, которые выявились при проверке. Существующие классы будут сохранены.


&runSnippet (новое в 1.4.4) (необязательно)


Определяет имя сниппета. Сниппет будет выполнен перед всеми обработками eForm. Один параметр &&formid, будет опущен для сниппета. Любые возвращенные значения из сниппета не будут учитываться. Это может быть использовано как альтернатива использования функций в документе. К сожалению eForm молча проигнорирует результат работы сниппета, так как $modx->runSnippet не возвращает никаких значений.


&snipFolder (новое в 1.4.4) (необязательно)


Для тех кто хочет использовать оставить другие версии eForm активными. Теперь вы можете сохранить все файлы eForm и соответственно установить &snipFolder. Например вы можете сохранить версию 1.4.4 в папку assets/snippets/eform/1.4.4 и установить &snipFolder=`eform/1.4.4`. К значению автоматически добавится путь 'assets/snippets/'. Не нужно использовать закрывающий слэш (/)!


Функции событий


Функции событий eForm теперь включены в параметры.


&eFormOnBeforeMailSent (необязательно)


Определяет название функции. Эта функция будет запущена после того как форма будет проверена и перед отчетом и сообщением для пользователя, а также отправкой любых сообщений. Смотрите пример использования.


&eFormOnMailSent (необязательно)


Определяет название функции. Эта функция будет запущена после обработки всех шаблонов и любое сообщение будет послано.


&eformOnBeforeFormParse (необязательно)


Определяет название функции. Эта функция будет запущена после загрузки шаблонов и определения идентификатора формы. Функции передаются следующие параметры: &$templates - массив всех шаблонов с индексами 'tpl', 'report','thankyou' и 'autotext'. Последние три будут иметь значение только после отправки формы.


&eFormOnBeforeFormMerge (необязательно)


Определяет название функции. Эта функция будет запущена только при показе форм и до определения всех переменных шаблона. Функции передаются следующие параметры: &$fields - массив полей и значений переменных.


&eFormOnValidate (необязательно)


Определяет название функции. Эта функция будет запущена после проверки данных формы. Это можно использовать для определения собственного алгоритма обработки. Функции передаются следующие параметры:



  • &$fields - массив полей и значений переменных

  • &$vMsg - числовой массив ошибок проверки данных формы

  • &$rMsg - числовой массив пропущенных обязательных полей

Примеры:


[ !eForm? &to=`me@mydomain.com` &gotoid=`1` &tpl=`orders` &report=`orderreport` ]] [ !eForm? &to=`sales@mysuppliers.com` &category=`Purchase Order` &tpl=`chunkPurchaseOrder` &report=`chunkPurchaseReport` ]]


Переменные шаблона


Для многих стандартных полей формы eFrom автоматически вставляет соответствующие переменные шаблона. Также вы можете определить их самостоятельно:



  • [ +validationmessage+] - Необходимо использовать в каком-то месте вашего шаблона или документа. С версии 1.4.2 эта переменная шаблона подверглась изменениям. Во-первых теперь ее не обязательно использовать в шаблоне. Теперь вы можете разместить ее в любом месте вашего документа. Во-вторых вам необязательно устанавливать какие-то тэги вокруг этой переменной. Теперь все html окружение включается в значение $_lang[ 'ef_validation_message'] в языковом файле eForm.

  • [ +vericode+] и [ +verimageurl+] - необходимы если вы собираетесь использовать в форме графическую проверку (capthca). Смотрите в примерах как это использовать.

  • [ +postdate+] - эта переменная будет использована в отчете и сообщении для пользователя после отправки данных формы и установит текущую дату и время.

  • [ +debug+] - начиная с версии 1.4.1, автоматически устанавливается, если включен режим отладки, в форме и сообщении для пользователя после отправки. Не помещается автоматически в шаблон отчета. Необходимо избегать отправку технической информации через сервер. Если вы хотите протестировать отправку писем, то можете включить эту переменную самостоятельно.

Типы и форматы данных


eForm имеет встроенный анализатор определяющий формат и тип данных с соответствующей проверкой каждого поля. Для настройки используется добавление дополнительного параметра eform в необходимые поля.


<input type="text" name="color" eform="A Color:string:1"/>


Базовый вид параметра eform следующий:


[ description/title]:[ datatype]:[ required]:[ validation message]:[ validation rule]


Data types


Вы можете устанавливать только эти типы данных. Другие определяются автоматически.


Все поля автоматически проверяют на пустоту значений.



  • string - не имеет специальной проверки кроме пустоты и обязательности заполнения.

  • date - проверяется на правильность формата даты (основано на функции strtotime())

  • integer - проверяется на числовое значение (не проверяется, если оно целое)

  • float - проверка на числовое значение

  • email - проверяет правильность адреса email с использованием регулярных выражений

  • file - (для поля загрузки файла) - проверяет соответствие разрешенному размеру, на текущий момент не имеет проверки типов файлов.

  • html - также как тип string только перенос строки преобразуется в тэг

Выпадающие списки, чекбоксы, и радиобатоны не требуют определения типа. eForm определяет их автоматически.


Extended Server Validation


Эта версия поддерживает расширенную проверку на стороне сервера и фильтрацию, использующую очень гибкие правила проверки, которые включаются в параметр eform. Вы можете определить 2 дополнительных параметра проверки, сообщение об ошибке и проверке или правило фильтра.


Например: eform="Year of Birth:integer:1:Must be between 1950 and 2002:#RANGE 1950-2002"


Правила проверки:


#LIST - перечисленные через запятую возможные значения. Например: #LIST красный,зеленый,оранжевый,синий


#RANGE - разделенные запятой возможный числовые значения или числовые диапазоны. При установке диапазона порядок не имеет значения. 1~10 и 10~1 будут одинаково определять числа между 1 и 10 (включительно). Можно использовать как положительные так и отрицательные числа.


Например: #RANGE 1,3,-5~-15,60~82


#SELECT - определяет правильность значений, которые будут возвращены из базы при запросе. Запрос должен возвращать значения только одной колонки (функция проверяет только первую колонку). Вы можете использовать { DBASE} { PREFIX} тэги. Они будут автоматически заменены на название базы MODx и используемый префикс таблицы.


Например: #SELECT keyword FROM { PREFIX}site_keywords


#EVAL - строка кода PHP. Может возвращать true или false. Внимание! Хотя #EVAL все еще используется в eForm 1.4, но в будущих версиях они скорее всего больше не будут поддерживаться. Взамен используйте #FUNCTION.


#FUNCTION - название функции. Функция должна использовать только одно значение (значение поля) и возвращать TRUE или FALSE. Смотрите примеры, чтобы разобраться как это действует.


Например: #FUNCTION myValidationFunction


#REGEX - регулярное выражение. Синтаксис preg_match() в PHP.


Пример: #REGEX /^[ a-z]+ [ a-z0-9_]+/i


#FILTER - фильтры не проверяют введенных значений, но заменяют слова и значения, которые соответствуют критериям. Вы можете использовать следующие фильтры:



  • #FILTER #LIST Используйте две вертикальные черты для разделения заменяемых и заменяющих слов. Например: #FILTER #LIST badword,verybadword||goodword,verygoodword

  • #FILTER #EVAL Например: #FILTER #EVAL return myFilterFunction($value); (естественно вы должны быть уверены в существовании указанной функции) Примеры применения фильтра: function myFilterFunction($value){ $badWords = array('scribble','coding'); $goodWords = array('design','sleep'); return str_replace($badWords,$goodWords,$value); }

  • #FILTER #REGEX

Регулярное выражение замены. Синтаксис preg_replace() в PHP. Поиск и выражение замены разделяется двумя вертикальными чертами (||)


Поля select, radio и checkbox


"ти поля имеют автоматическу проверку. Все полученные значения проверяются на соответствие установленными вами в шаблоне формы. Это позволяет избежать добавления посторонних значений в эти поля.


Скрытые поля


По умолчанию скрытые поля присутствуют как защита от подделки формы при сравнении используемых значений (как в полях select, radio и checkbox). Но в некоторых местах это может быть ненужно. Например если вы используете обработку javascript, которая хранит свои значения в скрытых полях. В это случае вы можете изменить это поведение используя параметр eform (включая или выключая проверку).


Скрытое поле пример 1:


Встроенное поведение удобно, если вы храните в скрытом поле идентификатор документа и не хотите чтобы он был изменен кем-либо. Поле должно выглядеть примерно так:


<input type="hidden" name="docId" value="31" />


Скрытое поле пример 2:


Если вы используете javascript, который хранит значения в скрытых полях, то вам необходимо убрать проверку поля так: <input type="hidden" name="calculatedField" value="" eform="::0::" />


Скрытое поле пример 3:


Пример похожий на 2, но вы хотите убедиться, что возвращенные значения лежат в допустимом диапазоне чисел. Установим для параметра eform заголовок, числовой тип данных, обязательность заполнения, сообщение об ошибке и проверку на диапазон. Это будет выглядеть так: <input type="hidden" name="calculatedField" value="" eform="Calculated Value:integer:1:Calculation out of range:#RANGE 1-10" />


Пример полей с проверкой



  1. Выпадающий список - обязательное поле (не требуется проверка) <select name="mySelect" eform_options="Select Country::1" /> (тип данных не определен) <option value="en-au">Australia</option> <option value="en-us">USA</option> </select>

  2. Текстовое поле - обязательное поле и формат данных для дат. <input type="text" name="dobDate" eform_options="Date of Birth:date:1:@EVAL return (strtotime($value)!==-1)?true:false;" />

  3. Много чекбоксов - обязательное поле, можно выбрать только одно значение. <input type="checkbox" name="myColors[]" value="Red" eform_options="Colors::1" /> (тип данных не определен) <input type="checkbox" name="myColors[]" value="Green" /> (тип данных не определен)

Оригинал: eForm - управление формами