<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
		<id>https://wiki.freenetis.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sivosha</id>
		<title>Freenetis Wiki - Příspěvky uživatele [cs]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.freenetis.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sivosha"/>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php/Speci%C3%A1ln%C3%AD:P%C5%99%C3%ADsp%C4%9Bvky/Sivosha"/>
		<updated>2026-04-20T12:01:48Z</updated>
		<subtitle>Příspěvky uživatele</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2_NetBeans&amp;diff=2184</id>
		<title>Автоматизированное тестирование в NetBeans</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2_NetBeans&amp;diff=2184"/>
				<updated>2014-06-07T15:24:29Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Automatické testování v NetBeans]]&lt;br /&gt;
[[en:Automatic testing in NetBeans]]&lt;br /&gt;
&lt;br /&gt;
== Интеграция PHPUnit в NetBeans ==&lt;br /&gt;
&lt;br /&gt;
=== Установка пакетов ===&lt;br /&gt;
&lt;br /&gt;
в Ubuntu/Debianu:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install phpunit&lt;br /&gt;
&lt;br /&gt;
в Fedora:&lt;br /&gt;
&lt;br /&gt;
 sudo yum install phpunit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Установка NetBeans ===&lt;br /&gt;
&lt;br /&gt;
Введите путь к PHPUnit (/usr/bin/phpunit) вручную или с помощью '''Поиск'''&lt;br /&gt;
&lt;br /&gt;
Инструменты&amp;gt;Настройки&amp;gt;PHP&amp;gt;Модульное тестирование&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Создание тестов ==&lt;br /&gt;
&lt;br /&gt;
В контекстном меню файла/папки исходного теста, выберите&lt;br /&gt;
&lt;br /&gt;
  Инструменты&amp;gt;Создать PHPUnit тесты&lt;br /&gt;
&lt;br /&gt;
Введите путь к папке (папки в корневом каталоге с тестами FreenetIS), в котором будет автоматически генерироваться тестовые файлы. Это будет база для создания тестов выбранного файла. В этом файле naimplementujte есть тесты для каждого метода.&lt;br /&gt;
&lt;br /&gt;
== Выполнение тестов ==&lt;br /&gt;
&lt;br /&gt;
В окне Свойства проекта, позволит PHPUnit '''Используйте начальной загрузки''' и '''Используйте Bootstrap для создания новых модульных тестов''' как программа начальной загрузки файла, выберите ''index.php'' в корневом каталоге FreenetIS.&lt;br /&gt;
&lt;br /&gt;
В контекстном меню исходного файла, который вы хотите проверить, выберите ''Test''. Или в меню Run выбрать проект ''Test''. Это позволит автоматически проверять все тесты и просматривать результаты в окне Результаты теста.&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2_NetBeans&amp;diff=2183</id>
		<title>Автоматизированное тестирование в NetBeans</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2_NetBeans&amp;diff=2183"/>
				<updated>2014-06-07T15:23:58Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs:Automatické testování v NetBeans en:  == Интеграция PHPUnit в NetBeans ==  === Установка пакетов ===  в Ubuntu/Debianu:   sudo apt...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Automatické testování v NetBeans]]&lt;br /&gt;
[[en:]]&lt;br /&gt;
&lt;br /&gt;
== Интеграция PHPUnit в NetBeans ==&lt;br /&gt;
&lt;br /&gt;
=== Установка пакетов ===&lt;br /&gt;
&lt;br /&gt;
в Ubuntu/Debianu:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install phpunit&lt;br /&gt;
&lt;br /&gt;
в Fedora:&lt;br /&gt;
&lt;br /&gt;
 sudo yum install phpunit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Установка NetBeans ===&lt;br /&gt;
&lt;br /&gt;
Введите путь к PHPUnit (/usr/bin/phpunit) вручную или с помощью '''Поиск'''&lt;br /&gt;
&lt;br /&gt;
Инструменты&amp;gt;Настройки&amp;gt;PHP&amp;gt;Модульное тестирование&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Создание тестов ==&lt;br /&gt;
&lt;br /&gt;
В контекстном меню файла/папки исходного теста, выберите&lt;br /&gt;
&lt;br /&gt;
  Инструменты&amp;gt;Создать PHPUnit тесты&lt;br /&gt;
&lt;br /&gt;
Введите путь к папке (папки в корневом каталоге с тестами FreenetIS), в котором будет автоматически генерироваться тестовые файлы. Это будет база для создания тестов выбранного файла. В этом файле naimplementujte есть тесты для каждого метода.&lt;br /&gt;
&lt;br /&gt;
== Выполнение тестов ==&lt;br /&gt;
&lt;br /&gt;
В окне Свойства проекта, позволит PHPUnit '''Используйте начальной загрузки''' и '''Используйте Bootstrap для создания новых модульных тестов''' как программа начальной загрузки файла, выберите ''index.php'' в корневом каталоге FreenetIS.&lt;br /&gt;
&lt;br /&gt;
В контекстном меню исходного файла, который вы хотите проверить, выберите ''Test''. Или в меню Run выбрать проект ''Test''. Это позволит автоматически проверять все тесты и просматривать результаты в окне Результаты теста.&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Automatic_testing_in_NetBeans&amp;diff=2182</id>
		<title>Automatic testing in NetBeans</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Automatic_testing_in_NetBeans&amp;diff=2182"/>
				<updated>2014-06-07T15:13:38Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs:Automatické testování v NetBeans ru:Автоматизированное тестирование в NetBeans  == Integration of PHPUnit into NetBeans ==  ===...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Automatické testování v NetBeans]]&lt;br /&gt;
[[ru:Автоматизированное тестирование в NetBeans]]&lt;br /&gt;
&lt;br /&gt;
== Integration of PHPUnit into NetBeans ==&lt;br /&gt;
&lt;br /&gt;
=== Installing packages === &lt;br /&gt;
&lt;br /&gt;
in Ubuntu/Debianu:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install phpunit&lt;br /&gt;
&lt;br /&gt;
in Fedora:&lt;br /&gt;
&lt;br /&gt;
 sudo yum install phpunit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Setting NetBeans ===&lt;br /&gt;
&lt;br /&gt;
Enter the path to PHPUnit (/usr/bin/PHPUnit) manually or using the '''Search''' window&lt;br /&gt;
&lt;br /&gt;
Tools&amp;gt; Preferences&amp;gt; PHP&amp;gt; Unit Testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 == Creating tests ==&lt;br /&gt;
&lt;br /&gt;
In the context menu of the test source file/folder, select&lt;br /&gt;
&lt;br /&gt;
Tools&amp;gt; Create PHPUnit tests&lt;br /&gt;
&lt;br /&gt;
Enter the path to the folder (the folder is in the root directory of tests FreenetIS). The test files will be automatically generated there. This this is a basis for creating tests selected file. In this file naimplementujte tests for each method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running tests ==&lt;br /&gt;
&lt;br /&gt;
In the Project Properties window, enable PHPUnit '''Use Bootstrap''' and '''Use Bootstrap for Creating New Unit Tests''' as a Bootstrap file, select ''index.php'' in the root directory FreenetIS.&lt;br /&gt;
&lt;br /&gt;
In the context menu of the source file that you want to test, select ''Test''. Or in the Run menu select ''Test'' project. Then it will automatically check all of the tests and view the results in the Test Results window.&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB_%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D1%8B&amp;diff=2181</id>
		<title>Персонал культуры</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB_%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D1%8B&amp;diff=2181"/>
				<updated>2014-06-07T14:47:15Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Štábní kultura]]&lt;br /&gt;
[[en:Staff culture]]&lt;br /&gt;
&lt;br /&gt;
Разработчики FreenetISu рекомендуют следовать определенным правилам для повышения читабельности и согласованности исходных кодов.&lt;br /&gt;
&lt;br /&gt;
Каждый исходный файл должен начинаться со следующего кода:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  *&lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * http://www.gnu.org/licenses/gpl-3.0.html&lt;br /&gt;
  *&lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * http://www.freenetis.org/&lt;br /&gt;
  *&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
=== Смещение ===&lt;br /&gt;
&lt;br /&gt;
Смещение исходного текста осуществляется с помощью клавиши табуляции. если не указано иное,&lt;br /&gt;
 &lt;br /&gt;
=== Перенос ===&lt;br /&gt;
&lt;br /&gt;
Строки кодов контроллеров, моделей и помощи не должны превышать 80 символов.&lt;br /&gt;
Для более длинных строк исходный код должен соответствовать следующим правилам:&lt;br /&gt;
&lt;br /&gt;
'' 'Коробки Wrap'''&lt;br /&gt;
&lt;br /&gt;
array&lt;br /&gt;
 (&lt;br /&gt;
     'a', 'b', c', 'd', 'e',&lt;br /&gt;
     'f', 'g'&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 array&lt;br /&gt;
 (&lt;br /&gt;
     'a'   =&amp;gt; val1,&lt;br /&gt;
     'b'   =&amp;gt; val2&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
'''Запись аргументов функции'''&lt;br /&gt;
&lt;br /&gt;
Аргументы в определениях и декларациях.&lt;br /&gt;
&lt;br /&gt;
''Используйте для смещения   внутренних аргументов около 2 табуляций''&lt;br /&gt;
&lt;br /&gt;
funkce(arg1, arg2,&lt;br /&gt;
         arg3, arg4&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
или&lt;br /&gt;
&lt;br /&gt;
 funkce(&lt;br /&gt;
         arg1, arg2,&lt;br /&gt;
         arg3, arg4&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
'''Метод цепочки объектов'''&lt;br /&gt;
&lt;br /&gt;
Эта запись является подходящей, если строка кода не превышает 80 символов.&lt;br /&gt;
&lt;br /&gt;
''Используйте для смещения  около 2 табуляций''&lt;br /&gt;
&lt;br /&gt;
$object-&amp;gt;method1()&lt;br /&gt;
         -&amp;gt;method2();&lt;br /&gt;
&lt;br /&gt;
'''Соединение условий'''&lt;br /&gt;
&lt;br /&gt;
 if (conditionA &amp;amp;&amp;amp; (&lt;br /&gt;
         conditionB ||&lt;br /&gt;
         conditionC&lt;br /&gt;
    ))&lt;br /&gt;
 {&lt;br /&gt;
     ...&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB_%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D1%8B&amp;diff=2180</id>
		<title>Персонал культуры</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB_%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D1%8B&amp;diff=2180"/>
				<updated>2014-06-07T14:46:53Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs:Štábní kultura en:Stuff culture  Разработчики FreenetISu рекомендуют следовать определенным правилам дл...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Štábní kultura]]&lt;br /&gt;
[[en:Stuff culture]]&lt;br /&gt;
&lt;br /&gt;
Разработчики FreenetISu рекомендуют следовать определенным правилам для повышения читабельности и согласованности исходных кодов.&lt;br /&gt;
&lt;br /&gt;
Каждый исходный файл должен начинаться со следующего кода:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  *&lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * http://www.gnu.org/licenses/gpl-3.0.html&lt;br /&gt;
  *&lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * http://www.freenetis.org/&lt;br /&gt;
  *&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
=== Смещение ===&lt;br /&gt;
&lt;br /&gt;
Смещение исходного текста осуществляется с помощью клавиши табуляции. если не указано иное,&lt;br /&gt;
 &lt;br /&gt;
=== Перенос ===&lt;br /&gt;
&lt;br /&gt;
Строки кодов контроллеров, моделей и помощи не должны превышать 80 символов.&lt;br /&gt;
Для более длинных строк исходный код должен соответствовать следующим правилам:&lt;br /&gt;
&lt;br /&gt;
'' 'Коробки Wrap'''&lt;br /&gt;
&lt;br /&gt;
array&lt;br /&gt;
 (&lt;br /&gt;
     'a', 'b', c', 'd', 'e',&lt;br /&gt;
     'f', 'g'&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 array&lt;br /&gt;
 (&lt;br /&gt;
     'a'   =&amp;gt; val1,&lt;br /&gt;
     'b'   =&amp;gt; val2&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
'''Запись аргументов функции'''&lt;br /&gt;
&lt;br /&gt;
Аргументы в определениях и декларациях.&lt;br /&gt;
&lt;br /&gt;
''Используйте для смещения   внутренних аргументов около 2 табуляций''&lt;br /&gt;
&lt;br /&gt;
funkce(arg1, arg2,&lt;br /&gt;
         arg3, arg4&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
или&lt;br /&gt;
&lt;br /&gt;
 funkce(&lt;br /&gt;
         arg1, arg2,&lt;br /&gt;
         arg3, arg4&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
'''Метод цепочки объектов'''&lt;br /&gt;
&lt;br /&gt;
Эта запись является подходящей, если строка кода не превышает 80 символов.&lt;br /&gt;
&lt;br /&gt;
''Используйте для смещения  около 2 табуляций''&lt;br /&gt;
&lt;br /&gt;
$object-&amp;gt;method1()&lt;br /&gt;
         -&amp;gt;method2();&lt;br /&gt;
&lt;br /&gt;
'''Соединение условий'''&lt;br /&gt;
&lt;br /&gt;
 if (conditionA &amp;amp;&amp;amp; (&lt;br /&gt;
         conditionB ||&lt;br /&gt;
         conditionC&lt;br /&gt;
    ))&lt;br /&gt;
 {&lt;br /&gt;
     ...&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Staff_culture&amp;diff=2179</id>
		<title>Staff culture</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Staff_culture&amp;diff=2179"/>
				<updated>2014-06-07T14:46:00Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Štábní kultura]]&lt;br /&gt;
[[ru:Персонал культуры]]&lt;br /&gt;
&lt;br /&gt;
Developers FreenetISu is recommended to follow the defined rules to increase readability and consistency of source codes.&lt;br /&gt;
&lt;br /&gt;
Each source file should start with the following code:&lt;br /&gt;
&amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  *&lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * http://www.gnu.org/licenses/gpl-3.0.html&lt;br /&gt;
  *&lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * http://www.freenetis.org/&lt;br /&gt;
  *&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
=== Offsetting ===&lt;br /&gt;
&lt;br /&gt;
Offsetting the source text is done using the Tab key. unless otherwise stated, it is assumed now that the offset.&lt;br /&gt;
&lt;br /&gt;
=== Wrap ===&lt;br /&gt;
&lt;br /&gt;
Line codes controllers, models and helpers should not exceed 80 characters.&lt;br /&gt;
For lines exceeding this length wraps source code according to the following rules:&lt;br /&gt;
&lt;br /&gt;
'' 'Wrap boxes'''&lt;br /&gt;
&lt;br /&gt;
array&lt;br /&gt;
 (&lt;br /&gt;
     'a', 'b', c', 'd', 'e',&lt;br /&gt;
     'f', 'g'&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 array&lt;br /&gt;
 (&lt;br /&gt;
     'a'   =&amp;gt; val1,&lt;br /&gt;
     'b'   =&amp;gt; val2&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
'''Wrap function arguments'''&lt;br /&gt;
&lt;br /&gt;
Wrap the arguments in definitions and declarations.&lt;br /&gt;
&lt;br /&gt;
'' Used to offset internal arguments about 2 tabs''&lt;br /&gt;
&lt;br /&gt;
 funkce(arg1, arg2,&lt;br /&gt;
         arg3, arg4&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 funkce(&lt;br /&gt;
         arg1, arg2,&lt;br /&gt;
         arg3, arg4&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
'''Chained method objects'''&lt;br /&gt;
&lt;br /&gt;
This wrap is suitable if a line of code does not exceed 80 characters.&lt;br /&gt;
&lt;br /&gt;
'' It is used to offset the 2 tabs''&lt;br /&gt;
&lt;br /&gt;
 $object-&amp;gt;method1()&lt;br /&gt;
         -&amp;gt;method2();&lt;br /&gt;
&lt;br /&gt;
'''Compound conditions'''&lt;br /&gt;
&lt;br /&gt;
 if (conditionA &amp;amp;&amp;amp; (&lt;br /&gt;
         conditionB ||&lt;br /&gt;
         conditionC&lt;br /&gt;
    ))&lt;br /&gt;
 {&lt;br /&gt;
     ...&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%C5%A0t%C3%A1bn%C3%AD_kultura&amp;diff=2178</id>
		<title>Štábní kultura</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%C5%A0t%C3%A1bn%C3%AD_kultura&amp;diff=2178"/>
				<updated>2014-06-07T14:45:18Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Staff culture]]&lt;br /&gt;
[[ru:Персонал культуры]]&lt;br /&gt;
Vývojářům FreenetISu je doporučeno dodržovat zde definované pravidla pro zvýšení čitelnosti a jednotnosti zdrojových kódů.&lt;br /&gt;
&lt;br /&gt;
Každý zdrojový soubor by měl začínat následujícím kódem:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  * &lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * http://www.gnu.org/licenses/gpl-3.0.html&lt;br /&gt;
  * &lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * http://www.freenetis.org/&lt;br /&gt;
  * &lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
=== Odsazování ===&lt;br /&gt;
&lt;br /&gt;
Odsazování zdrojového textu se provádí pomocí tabulátoru. pokud není uvedeno jinak, předpokládá se právě tato velikost odsazení.&lt;br /&gt;
&lt;br /&gt;
=== Zalamování ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Řádek kódy controllerů, modelů a helperů by neměl přesahovat 80 znaků.&lt;br /&gt;
Pro řádky přesahující tuto délku zalamujeme zdrojový kód dle následujících pravidel:&lt;br /&gt;
&lt;br /&gt;
'''Zalamování polí'''&lt;br /&gt;
&lt;br /&gt;
 array&lt;br /&gt;
 (&lt;br /&gt;
     'a', 'b', c', 'd', 'e',&lt;br /&gt;
     'f', 'g'&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 array&lt;br /&gt;
 (&lt;br /&gt;
     'a'   =&amp;gt; val1,&lt;br /&gt;
     'b'   =&amp;gt; val2&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
'''Zalamování argumentů funkcí'''&lt;br /&gt;
&lt;br /&gt;
Zalamujeme i argumenty v definicích a deklaracích. &lt;br /&gt;
&lt;br /&gt;
''Používá se odsazení vnitřních argumentů o 2 tabulátory''&lt;br /&gt;
&lt;br /&gt;
 funkce(arg1, arg2,&lt;br /&gt;
         arg3, arg4&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
nebo&lt;br /&gt;
&lt;br /&gt;
 funkce(&lt;br /&gt;
         arg1, arg2,&lt;br /&gt;
         arg3, arg4&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
'''Řetězené metody objektů'''&lt;br /&gt;
&lt;br /&gt;
Toto zalamování je vhodné i pokud řádek kódu nepřesahuje 80 znaků.&lt;br /&gt;
&lt;br /&gt;
''Používá se odsazení o 2 tabulátory''&lt;br /&gt;
&lt;br /&gt;
 $object-&amp;gt;method1()&lt;br /&gt;
         -&amp;gt;method2();&lt;br /&gt;
&lt;br /&gt;
'''Složené podmínky'''&lt;br /&gt;
&lt;br /&gt;
 if (conditionA &amp;amp;&amp;amp; (&lt;br /&gt;
         conditionB ||&lt;br /&gt;
         conditionC&lt;br /&gt;
    ))&lt;br /&gt;
 {&lt;br /&gt;
     ...&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%C5%A0t%C3%A1bn%C3%AD_kultura&amp;diff=2177</id>
		<title>Štábní kultura</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%C5%A0t%C3%A1bn%C3%AD_kultura&amp;diff=2177"/>
				<updated>2014-06-07T14:45:06Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Staff culture]]&lt;br /&gt;
[[ru:Персонал культура]]&lt;br /&gt;
Vývojářům FreenetISu je doporučeno dodržovat zde definované pravidla pro zvýšení čitelnosti a jednotnosti zdrojových kódů.&lt;br /&gt;
&lt;br /&gt;
Každý zdrojový soubor by měl začínat následujícím kódem:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  * &lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * http://www.gnu.org/licenses/gpl-3.0.html&lt;br /&gt;
  * &lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * http://www.freenetis.org/&lt;br /&gt;
  * &lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
=== Odsazování ===&lt;br /&gt;
&lt;br /&gt;
Odsazování zdrojového textu se provádí pomocí tabulátoru. pokud není uvedeno jinak, předpokládá se právě tato velikost odsazení.&lt;br /&gt;
&lt;br /&gt;
=== Zalamování ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Řádek kódy controllerů, modelů a helperů by neměl přesahovat 80 znaků.&lt;br /&gt;
Pro řádky přesahující tuto délku zalamujeme zdrojový kód dle následujících pravidel:&lt;br /&gt;
&lt;br /&gt;
'''Zalamování polí'''&lt;br /&gt;
&lt;br /&gt;
 array&lt;br /&gt;
 (&lt;br /&gt;
     'a', 'b', c', 'd', 'e',&lt;br /&gt;
     'f', 'g'&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 array&lt;br /&gt;
 (&lt;br /&gt;
     'a'   =&amp;gt; val1,&lt;br /&gt;
     'b'   =&amp;gt; val2&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
'''Zalamování argumentů funkcí'''&lt;br /&gt;
&lt;br /&gt;
Zalamujeme i argumenty v definicích a deklaracích. &lt;br /&gt;
&lt;br /&gt;
''Používá se odsazení vnitřních argumentů o 2 tabulátory''&lt;br /&gt;
&lt;br /&gt;
 funkce(arg1, arg2,&lt;br /&gt;
         arg3, arg4&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
nebo&lt;br /&gt;
&lt;br /&gt;
 funkce(&lt;br /&gt;
         arg1, arg2,&lt;br /&gt;
         arg3, arg4&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
'''Řetězené metody objektů'''&lt;br /&gt;
&lt;br /&gt;
Toto zalamování je vhodné i pokud řádek kódu nepřesahuje 80 znaků.&lt;br /&gt;
&lt;br /&gt;
''Používá se odsazení o 2 tabulátory''&lt;br /&gt;
&lt;br /&gt;
 $object-&amp;gt;method1()&lt;br /&gt;
         -&amp;gt;method2();&lt;br /&gt;
&lt;br /&gt;
'''Složené podmínky'''&lt;br /&gt;
&lt;br /&gt;
 if (conditionA &amp;amp;&amp;amp; (&lt;br /&gt;
         conditionB ||&lt;br /&gt;
         conditionC&lt;br /&gt;
    ))&lt;br /&gt;
 {&lt;br /&gt;
     ...&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Smaz%C3%A1n%C3%AD_v%C4%9Btve&amp;diff=2176</id>
		<title>Smazání větve</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Smaz%C3%A1n%C3%AD_v%C4%9Btve&amp;diff=2176"/>
				<updated>2014-06-07T14:42:59Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Deleting branches]]&lt;br /&gt;
[[ru:Удаление ветви]]&lt;br /&gt;
Pokud je větev hotova a sloučená do hlavní větve, odstraníme ji z SVN příkazem:&lt;br /&gt;
&lt;br /&gt;
 svn delete https://freenetis.svn.sourceforge.net/svnroot/freenetis/freenetis/branches/název_větve -m &amp;quot;Větev mažu, protože už je hotová a sloučená do hlavní větve&amp;quot;&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Deleting_branches&amp;diff=2175</id>
		<title>Deleting branches</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Deleting_branches&amp;diff=2175"/>
				<updated>2014-06-07T14:42:45Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Smazání větve]]&lt;br /&gt;
[[ru:Удаление ветви]]&lt;br /&gt;
&lt;br /&gt;
If a branch is completed and merged into the main branch, remove it from the SVN command:&lt;br /&gt;
&lt;br /&gt;
 svn delete https://freenetis.svn.sourceforge.net/svnroot/freenetis/freenetis/branches/branch_name -m &amp;quot;The branch is removed because it is integrated with the main branch&amp;quot;&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%A3%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B5%D1%82%D0%B2%D0%B8&amp;diff=2174</id>
		<title>Удаление ветви</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%A3%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B5%D1%82%D0%B2%D0%B8&amp;diff=2174"/>
				<updated>2014-06-07T14:42:08Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs:Smazání větve en:Deleting branches  Если ветвь завершена, и добавлена в основную ветку, удалите ее из SVN...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Smazání větve]]&lt;br /&gt;
[[en:Deleting branches]]&lt;br /&gt;
&lt;br /&gt;
Если ветвь завершена, и добавлена в основную ветку, удалите ее из SVN командой:&lt;br /&gt;
&lt;br /&gt;
 svn delete https://freenetis.svn.sourceforge.net/svnroot/freenetis/freenetis/branches/имя_ветки -m &amp;quot;Ветка удаляется потому что она объединена с главной ветвью&amp;quot;&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Smaz%C3%A1n%C3%AD_v%C4%9Btve&amp;diff=2173</id>
		<title>Smazání větve</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Smaz%C3%A1n%C3%AD_v%C4%9Btve&amp;diff=2173"/>
				<updated>2014-06-07T14:41:30Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Deleting branches]]&lt;br /&gt;
[[ru:Удаление ветви]]&lt;br /&gt;
If a branch is completed and merged into the main branch, remove it from the SVN command:&lt;br /&gt;
&lt;br /&gt;
 svn delete https://freenetis.svn.sourceforge.net/svnroot/freenetis/freenetis/branches/branch_name -m &amp;quot;The branch is removed because it is integrated with the main branch&amp;quot;&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Import_and_export_of_database&amp;diff=2172</id>
		<title>Import and export of database</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Import_and_export_of_database&amp;diff=2172"/>
				<updated>2014-06-07T14:39:21Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Import a export databáze]]&lt;br /&gt;
[[ru:Импорт и экспорт базы данных]]&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Import_a_export_datab%C3%A1ze&amp;diff=2171</id>
		<title>Import a export databáze</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Import_a_export_datab%C3%A1ze&amp;diff=2171"/>
				<updated>2014-06-07T14:37:36Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Import and export of database]]&lt;br /&gt;
[[ru:Импорт и экспорт базы данных]]&lt;br /&gt;
Při vývoji je často potřeba pracovat s daty ostré databáze. Prázdná databáze po instalaci pro mnoho testování nestačí.&lt;br /&gt;
&lt;br /&gt;
== Import dat do databáze ==&lt;br /&gt;
&lt;br /&gt;
Import SQL souboru s obsahem databáze je možné přes uživatelské rozhraní Phpmyadmina. Velké soubory pak ale často narazí na časový a datový limit PHP. Tyto limity je možné do jisté míry měnit v souboru&lt;br /&gt;
&lt;br /&gt;
 /etc/php5/apache2/php.ini&lt;br /&gt;
&lt;br /&gt;
U velkých souborů toto nemusí stačit. Proto je snadné použití příkazové řádky. Stačí mít na počítači nekomprimovaný soubor SQL s daty k importu. Je potřeba mít na cílovém MySQL serveru prázdnou databázi. Pro import pak stačí v konzoli napsat&lt;br /&gt;
&lt;br /&gt;
 mysql -u username -p freenetis &amp;lt; freenetis.sql&lt;br /&gt;
&lt;br /&gt;
Po importu databáze je nutné v Phpmyadminovi upravit některé položky v tabulce config. Jde o položky &lt;br /&gt;
* protocol (na svém PC pro vývoj používáte typicky http místo https)&lt;br /&gt;
* domain (na svém PC pro vývoj máte doménu localhost místo třeba freenetis.sdruzeni.net)&lt;br /&gt;
* suffix (přípona za doménou, na serveru je to obvykle pouze /, pro localhost to je obvykle /freenetis/, záleží na vašem nastavení virtualhostu v Apachi)&lt;br /&gt;
Jestliže nenaběhne FreenetIS na vaší lokální stránce (typicky localhost/freenetis) kvůli selhání upgradu databáze, pak navštivte v phpmyadminu tabulku config a upravte položku db_schema_version na číslo verze, které najdete v souboru application/upgrade_sql/upgrade_sql.php.&lt;br /&gt;
Jestliže přihlašovací stránka naběhne, ale přihlášení selže na neznámé chybě, pak ověřte, jestli se celý import dat provedl správně. V případě větší databáze se import nemusí provést správně a některé tabulky se nestihnou vytvořit, například tabulka users klíčová pro přihlášení. V tomto případě používejte import výhradně přes příkazovou řádku a nikoli přes webové rozhraní phpmyadmina.&lt;br /&gt;
&lt;br /&gt;
=== Tip ===&lt;br /&gt;
Po importu pusťte v phpmyadminovi následující SQL dotaz&lt;br /&gt;
 update users, (select password as newpass from users where login='vaslogin') u set password = u.newpass&lt;br /&gt;
Můžete tak snadněji testovat práva, protože takto všem uživatelům nastavíte vaše heslo podle vašeho loginu.&lt;br /&gt;
&lt;br /&gt;
=== Tip ===&lt;br /&gt;
Výsledný SQL dotaz po importu databáze s produkčními daty na lokální vývojářský počítač:&lt;br /&gt;
 update config set value = 'http' where name = 'protocol';&lt;br /&gt;
 update config set value = 'localhost' where name = 'domain';&lt;br /&gt;
 update config set value = '/freenetis/' where name = 'suffix';&lt;br /&gt;
 update users, (select password as newpass from users where login='vaslogin') u set password = u.newpass&lt;br /&gt;
&lt;br /&gt;
== Export dat z databáze ==&lt;br /&gt;
&lt;br /&gt;
V příkazové řádce se pak export databáze do souboru provede obdobně:&lt;br /&gt;
&lt;br /&gt;
 mysqldump -u username -p freenetis --routines &amp;gt; freenetis.sql&lt;br /&gt;
&lt;br /&gt;
== Skript All in one ==&lt;br /&gt;
&lt;br /&gt;
Následující skript provádí víceméně vše předchozí automaticky za vás. Stačí jenom správně nastavit proměnné, zajít si na kávu a po návratu je váš lokální počítač připraven.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ############################################################################################&lt;br /&gt;
 #                                                                                          #&lt;br /&gt;
 #   Autor: Michal Kliment                                                                  #&lt;br /&gt;
 #   Popis: Tento skript umoznuje vyvojarum FreenetISu snadnejsi import databaze z jejich   # &lt;br /&gt;
 #          ostre instalace FreenetISu na jejich lokalni pocitac.                           #&lt;br /&gt;
 #                                                                                          #&lt;br /&gt;
 #   Datum: 26. 7. 2011                                                                     #&lt;br /&gt;
 #                                                                                          #&lt;br /&gt;
 ############################################################################################&lt;br /&gt;
 &lt;br /&gt;
 ############################################################################################&lt;br /&gt;
 #      N A S T A V E N I   L O K A L N I   I N S T A L A C E   F R E E N E T I S U         #&lt;br /&gt;
 ############################################################################################&lt;br /&gt;
 &lt;br /&gt;
 # Nazev lokalni databaze&lt;br /&gt;
 LOCAL_DB_NAME=&amp;quot;freenetis&amp;quot;&lt;br /&gt;
 # Uzivatel lokalni databaze&lt;br /&gt;
 LOCAL_DB_USER=&amp;quot;freenetis&amp;quot;&lt;br /&gt;
 # Heslo k lokalni databazi&lt;br /&gt;
 LOCAL_DB_PASSWORD=&amp;quot;freenetis&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Protokol lokalniho freenetisu, http nebo htts&lt;br /&gt;
 PROTOCOL=&amp;quot;http&amp;quot;&lt;br /&gt;
 # Domena lokalniho freenetis, pravdepodobne localhost&lt;br /&gt;
 DOMAIN=&amp;quot;localhost&amp;quot;&lt;br /&gt;
 # Pripona adresy lokalniho freenetisu, pravdepodobne /freenetis/&lt;br /&gt;
 SUFFIX=&amp;quot;/freenetis/&amp;quot;&lt;br /&gt;
 # Uzivatel freenetisu, jehoz heslo se nastavi vsem uzivatelum v systemu&lt;br /&gt;
 USER_LOGIN=&amp;quot;admin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ############################################################################################&lt;br /&gt;
 #      N A S T A V E N I   &amp;quot;O S T R E&amp;quot;  I N S T A L A C E   F R E E N E T I S U            #&lt;br /&gt;
 ############################################################################################&lt;br /&gt;
 &lt;br /&gt;
 # Nazev &amp;quot;ostre&amp;quot; databaze&lt;br /&gt;
 REMOTE_DB_NAME=&amp;quot;freenetis&amp;quot;&lt;br /&gt;
 # Uzivatel &amp;quot;ostre&amp;quot; databaze&lt;br /&gt;
 REMOTE_DB_USER=&amp;quot;freenetis&amp;quot;&lt;br /&gt;
 # Heslo k &amp;quot;ostre&amp;quot; databazi&lt;br /&gt;
 REMOTE_DB_PASSWORD=&amp;quot;freenetis&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Uzivatel pro pristup na &amp;quot;ostry&amp;quot; freenetis pres SSH&lt;br /&gt;
 REMOTE_USER=&amp;quot;root&amp;quot;&lt;br /&gt;
 # Adresa &amp;quot;ostreho&amp;quot; freenetisu pro SSH&lt;br /&gt;
 REMOTE_HOST=&amp;quot;host&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ############################################################################################&lt;br /&gt;
 #                    S A M O T N Y   S K R I P T   -   N E M E N I T !                     #&lt;br /&gt;
 ############################################################################################&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Vytvarim zalohu lokalni databaze $LOCAL_DB_NAME...&amp;quot;&lt;br /&gt;
 mysqldump -u $LOCAL_DB_USER --password=$LOCAL_DB_PASSWORD $LOCAL_DB_NAME --routines &amp;gt; freenetis-backup-`date +%Y%m%d%H%M`.sql 2&amp;gt;/dev/null&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Odstranuji lokalni databazi $LOCAL_DB_NAME...&amp;quot;&lt;br /&gt;
 mysql -u $LOCAL_DB_USER --password=$LOCAL_DB_PASSWORD -e &amp;quot;DROP DATABASE $LOCAL_DB_NAME;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Vytvarim novou prazdnou databazi $LOCAL_DB_NAME...&amp;quot;&lt;br /&gt;
 mysql -u $LOCAL_DB_USER --password=$LOCAL_DB_PASSWORD -e &amp;quot;CREATE DATABASE $LOCAL_DB_NAME DEFAULT CHARACTER SET utf8 COLLATE utf8_czech_ci;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Importuji do ni data primo z ostre databaze, tato operace chvili potrva...&amp;quot;&lt;br /&gt;
 ssh $REMOTE_USER@$REMOTE_HOST &amp;quot;mysqldump -u $REMOTE_DB_USER --password=$REMOTE_DB_PASSWORD $REMOTE_DB_NAME --routines&amp;quot; | mysql -u $LOCAL_DB_USER --password=$LOCAL_DB_PASSWORD $LOCAL_DB_NAME&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Nastavuji protokol na $PROTOCOL...&amp;quot;&lt;br /&gt;
 mysql -u $LOCAL_DB_USER --password=$LOCAL_DB_PASSWORD $LOCAL_DB_NAME -e &amp;quot;update config set value = '$PROTOCOL' where name = 'protocol';&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Nastavuji domenu na $DOMAIN...&amp;quot;&lt;br /&gt;
 mysql -u $LOCAL_DB_USER --password=$LOCAL_DB_PASSWORD $LOCAL_DB_NAME -e &amp;quot;update config set value = '$DOMAIN' where name = 'domain';&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Nastavuji suffic na $SUFFIX...&amp;quot;&lt;br /&gt;
 mysql -u $LOCAL_DB_USER --password=$LOCAL_DB_PASSWORD $LOCAL_DB_NAME -e &amp;quot;update config set value = '$SUFFIX' where name = 'suffix';&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Nastavuji vsem uzivatelum stejne heslo jako je heslo pro uzivatele $USER_LOGIN...&amp;quot;&lt;br /&gt;
 mysql -u $LOCAL_DB_USER --password=$LOCAL_DB_PASSWORD $LOCAL_DB_NAME -e &amp;quot;update users, (select password as newpass from users where login='$USER_LOGIN') u set password = u.newpass&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Vyprazdnuji e-mailovou frontu...&amp;quot;&lt;br /&gt;
 mysql -u $LOCAL_DB_USER --password=$LOCAL_DB_PASSWORD $LOCAL_DB_NAME -e &amp;quot;TRUNCATE TABLE  email_queues;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%9F%D1%80%D0%BE%D1%84%D0%B0%D0%B9%D0%BB%D0%B5%D1%80&amp;diff=2170</id>
		<title>Профайлер</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%9F%D1%80%D0%BE%D1%84%D0%B0%D0%B9%D0%BB%D0%B5%D1%80&amp;diff=2170"/>
				<updated>2014-06-07T14:36:11Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Profiler]]&lt;br /&gt;
[[en:Profiler (english)]]&lt;br /&gt;
&lt;br /&gt;
Profiler в коде может работать следующим образом:&lt;br /&gt;
&lt;br /&gt;
 $this-&amp;gt;profiler = new Profiler;&lt;br /&gt;
 // некоторые из ваших действий и вопросов&lt;br /&gt;
 echo $this-&amp;gt;profiler-&amp;gt;render(TRUE);&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%9F%D1%80%D0%BE%D1%84%D0%B0%D0%B9%D0%BB%D0%B5%D1%80&amp;diff=2169</id>
		<title>Профайлер</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%9F%D1%80%D0%BE%D1%84%D0%B0%D0%B9%D0%BB%D0%B5%D1%80&amp;diff=2169"/>
				<updated>2014-06-07T14:35:53Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs:Profiler en:Profiler (english)  en:Profiler (english) Profiler в коде может работать следующим образом:   $this-&amp;gt;profiler =...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Profiler]]&lt;br /&gt;
[[en:Profiler (english)]]&lt;br /&gt;
&lt;br /&gt;
[[en:Profiler (english)]]&lt;br /&gt;
Profiler в коде может работать следующим образом:&lt;br /&gt;
&lt;br /&gt;
 $this-&amp;gt;profiler = new Profiler;&lt;br /&gt;
 // некоторые из ваших действий и вопросов&lt;br /&gt;
 echo $this-&amp;gt;profiler-&amp;gt;render(TRUE);&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Profiler_(english)&amp;diff=2168</id>
		<title>Profiler (english)</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Profiler_(english)&amp;diff=2168"/>
				<updated>2014-06-07T14:34:24Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Profiler]]&lt;br /&gt;
[[ru:Профайлер]]&lt;br /&gt;
&lt;br /&gt;
Profiler can be run anywhere in the code as:&lt;br /&gt;
&lt;br /&gt;
 $this-&amp;gt;profiler = new Profiler;&lt;br /&gt;
 // some of your actions and questions&lt;br /&gt;
 echo $this-&amp;gt;profiler-&amp;gt;render(TRUE);&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Profiler&amp;diff=2167</id>
		<title>Profiler</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Profiler&amp;diff=2167"/>
				<updated>2014-06-07T14:30:56Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Profiler (english)]]&lt;br /&gt;
[[ru: Профайл]]&lt;br /&gt;
Profiler si v libovolnem miste kodu muzete spustit takto:&lt;br /&gt;
&lt;br /&gt;
 $this-&amp;gt;profiler = new Profiler;&lt;br /&gt;
 // nejake vase akce a dotazy&lt;br /&gt;
 echo $this-&amp;gt;profiler-&amp;gt;render(TRUE);&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Automatick%C3%A9_testov%C3%A1n%C3%AD_v_NetBeans&amp;diff=2166</id>
		<title>Automatické testování v NetBeans</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Automatick%C3%A9_testov%C3%A1n%C3%AD_v_NetBeans&amp;diff=2166"/>
				<updated>2014-06-07T14:28:02Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Automatic testing in NetBeans]]&lt;br /&gt;
[[ru:Автоматизированное тестирование в NetBeans]]&lt;br /&gt;
&lt;br /&gt;
== Integrace PHPUnit do NetBeans ==&lt;br /&gt;
&lt;br /&gt;
=== Instalace balíků ===&lt;br /&gt;
&lt;br /&gt;
v Ubuntu/Debianu:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install phpunit&lt;br /&gt;
&lt;br /&gt;
ve Fedoře:&lt;br /&gt;
&lt;br /&gt;
 sudo yum install phpunit&lt;br /&gt;
&lt;br /&gt;
=== Nastavení NetBeans ===&lt;br /&gt;
&lt;br /&gt;
Zadat cestu k binárce PHPUnit (obvykle /usr/bin/phpunit) ručně, nebo pomocí tlačítka '''Search''' v okně&lt;br /&gt;
&lt;br /&gt;
 Nástroje &amp;gt; Předvolby &amp;gt; PHP &amp;gt; Unit Testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vytvoření testů ==&lt;br /&gt;
&lt;br /&gt;
V kontextovém menu testovaného zdrojového souboru/složky vyberte&lt;br /&gt;
&lt;br /&gt;
 Nástroje &amp;gt; Create PHPUnit tests&lt;br /&gt;
&lt;br /&gt;
zadejte cestu ke složce (složka tests v kořenovém adresáři FreenetISu), do které se budou automaticky generovat testovací soubory. Dojde k vygenerování kostry pro vytváření testů vybraného souboru. Do tohoto souboru naimplementujte testy pro jednotlivé metody.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spuštění testů ==&lt;br /&gt;
&lt;br /&gt;
Ve vlastnostech projektu povolte v okně PHPUnit '''Use Bootstrap''' a '''Use Bootstrap for Creating New Unit Tests''' a jako Bootstrap soubor vyberte ''index.php'' v kořenovém adresáři FreenetISu.&lt;br /&gt;
&lt;br /&gt;
V kontextovém menu zdrojového souboru, který chcete otestovat, vyberte možnost ''Test''. Případně v menu Run vybrat ''Test project''. Následně proběhne automatická kontrola všech testů a zobrazení výsledků v okně Test Results.&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=2165</id>
		<title>Автоматическое тестирование</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=2165"/>
				<updated>2014-06-07T14:27:03Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Automatic testing]]&lt;br /&gt;
[[cs:Automatické testování]]&lt;br /&gt;
&lt;br /&gt;
Автоматизированное тестирование используется в качестве обратной связи с разработчиком и контроля над его действиями.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Архитектура теста ==&lt;br /&gt;
&lt;br /&gt;
Испытания полностью автоматизированы (Вам не нужно тестировать программы, необходимо только доставить данные для испытаний) и автоматически вносятся изменения в исходный код.&lt;br /&gt;
&lt;br /&gt;
Тесты позволяют проверить'''модели''','''помощники''' и'''контроллеры'''. Другие части системы проверяются только на корректность синтаксиса.&lt;br /&gt;
&lt;br /&gt;
Тесты по юнит-тестам не сравнивают полученные значения функций, а только проверяют не является ли ошибкой завершения работы.&lt;br /&gt;
&lt;br /&gt;
'''Тесты поддерживаются в *UNIX операционных системах.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Получение информации о исходном коде ===&lt;br /&gt;
&lt;br /&gt;
Получение информации о исходном коде выполняется автоматически с помощью скрипта, который проходит через все модули и получая от них необходимые. Эти данные хранятся в документе XML ('' / application / vendors/ unit_tester / unit_testing_config.xml'').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Установка тестов ==&lt;br /&gt;
&lt;br /&gt;
Установка необходимых библиотек:&lt;br /&gt;
&lt;br /&gt;
v Ubuntu/Debianu:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install curl perl libxml-writer-perl libxml-dom-perl&lt;br /&gt;
&lt;br /&gt;
Fedora:&lt;br /&gt;
&lt;br /&gt;
 sudo yum install curl perl perl-XML-Writer perl-XML-DOM php-xml&lt;br /&gt;
&lt;br /&gt;
'''Возможности:'''&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/freenetis&lt;br /&gt;
 chmod +x ./application/vendors/unit_tester/tester.sh&lt;br /&gt;
&lt;br /&gt;
'''Предотвращение отправки e-mail/SMS т.д.:'''&lt;br /&gt;
&lt;br /&gt;
Do config.php přidejte:&lt;br /&gt;
&lt;br /&gt;
 $config['unit_tester'] = TRUE;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Выполнение тестов ==&lt;br /&gt;
&lt;br /&gt;
'' 'Внимание: Тесты возможны только на локальном сервере разработки!'''&lt;br /&gt;
&lt;br /&gt;
  cd / var / www / freenetis / application / vendors / unit_tester&lt;br /&gt;
  . / tester.sh &amp;lt;URL&amp;gt; &amp;lt;LOGIN_NAME&amp;gt; &amp;lt;PASSWORD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'' Примечание: время работы всех тестов на Intel Core i5 2,53 ГГц с Ubuntu 11.04 составляет около четырех минут''.&lt;br /&gt;
&lt;br /&gt;
'''Пример с аргументами'''&lt;br /&gt;
&lt;br /&gt;
  . / Tester.sh-O http://localhost/freenetis Админ 123456&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Аргументы тестового скрипта ===&lt;br /&gt;
&lt;br /&gt;
  $. / Tester.sh - помощь&lt;br /&gt;
  Скрипт для тестирования FreenetIS&lt;br /&gt;
  ИСПОЛЬЗОВАНИЕ: tester.sh [параметры] URL Имя пользователя Пароль&lt;br /&gt;
 &lt;br /&gt;
  Опции:&lt;br /&gt;
   -О, --open-browser    Открыть браузер с ошибками моделей или помощников&lt;br /&gt;
                      автоматически, после обнаружения ошибок.&lt;br /&gt;
   -S, --skip-syntax        Пропустить проверку синтаксиса всех файлов&lt;br /&gt;
   -M, --skip-models      Пропустить тест моделей&lt;br /&gt;
   -H, --skip-helpers      Пропустить тест помощников&lt;br /&gt;
   -C, --skip-controllers Пропустить тест контроллеров&lt;br /&gt;
   -E, --enable-stats      Включить статистику и тесты&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Редактирование проверяемой информации ==&lt;br /&gt;
&lt;br /&gt;
Автоматически сгенерированных значений теста недостаточно для тестирования, поэтому уместно добавить некоторую дополнительную информацию.&lt;br /&gt;
&lt;br /&gt;
Например, определите модель в файле конфигурации, найдите соответствующие объекты (как заголовок и имена атрибутов).&lt;br /&gt;
&lt;br /&gt;
'' 'Модель генерируется автоматически:'''&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;MODEL name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;method name=&amp;quot;testovaci_funkce&amp;quot; autogenerate=&amp;quot;on&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;attributes&amp;gt;&lt;br /&gt;
          &amp;lt;attribute name=&amp;quot;user_id&amp;quot; default_value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;attribute name=&amp;quot;filter_values&amp;quot; default_value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/ attributes&amp;gt;&lt;br /&gt;
      &amp;lt;values&amp;gt;&lt;br /&gt;
          &amp;lt;input&amp;gt;&lt;br /&gt;
              value = &amp;quot;&amp;quot; /&amp;gt; &amp;lt;параметр&lt;br /&gt;
              value = &amp;quot;Array ()&amp;quot; /&amp;gt; &amp;lt;параметр&lt;br /&gt;
          &amp;lt;/input&amp;gt;&lt;br /&gt;
      &amp;lt;/ values&amp;gt;&lt;br /&gt;
  &amp;lt;/ Method&amp;gt;&lt;br /&gt;
  &amp;lt;/ model&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очень важным атрибутом метода является '''автоформирование'''. Если вы вносите изменения в методе и и устанавливаете их в '''off''' то при запуске тестирования изменения игнорируются.&lt;br /&gt;
&lt;br /&gt;
Тег'''ввод''' можно рассматривать как набор тестовых значений метода.&lt;br /&gt;
&lt;br /&gt;
'''Если вы не хотите, что метод был протестирован вообще (обычно это методы, которые зависят от объектов или вставки данных в базу данных), это может быть достигнуто следующим образом:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;model name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;testovaci_funkce&amp;quot; autogenerate=&amp;quot;off&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;attributes&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;user_id&amp;quot; default_value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;filter_values&amp;quot; default_value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/attributes&amp;gt;&lt;br /&gt;
         &amp;lt;values&amp;gt;&lt;br /&gt;
         &amp;lt;/values&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
 &amp;lt;/model&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Идеальные тестовые данные (попытка вставить пустые или бессмысленные значения) для нашей тестовой модели может выглядеть следующим образом:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;model name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;testovaci_funkce&amp;quot; autogenerate=&amp;quot;off&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;attributes&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;user_id&amp;quot; default_value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;filter_values&amp;quot; default_value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/attributes&amp;gt;&lt;br /&gt;
         &amp;lt;values&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array('id' =&amp;gt; '1')&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;abd'se$#@`&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;abd'se$#@`&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array('id' =&amp;gt; '1sef%se@š`', 'Ijnfsief' =&amp;gt; 'se2', 'sef$a;!')&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
         &amp;lt;/values&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
 &amp;lt;/model&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Дополнительные возможности для контроллеров ===&lt;br /&gt;
&lt;br /&gt;
Контроллеры могут также отправлять данные с помощью POST и HTTP GET, только для проверки входных параметров добавьте параметры в виде:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;param name=&amp;quot;post_name&amp;quot; type=&amp;quot;post&amp;quot; value=&amp;quot;hodnota&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;param name=&amp;quot;get_name&amp;quot; type=&amp;quot;get&amp;quot; value=&amp;quot;hodnota&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Работа редактирования испытания действия документа ===&lt;br /&gt;
&lt;br /&gt;
После каждого изменения файла конфигурации, вы должны проверить его корректность с помощью прилагаемого DTD (''/application/vendors/unit_tester/unit_testing_config.xml''), так как сам тест позволяет допустимые конфигурации!&lt;br /&gt;
&lt;br /&gt;
В Netbeans IDE проверка выполняется выбором  конфигурационного файла и запуском через контекстное меню проверки XML.&lt;br /&gt;
&lt;br /&gt;
== Статистика и критерии ==&lt;br /&gt;
&lt;br /&gt;
Тесты являются инструментом для анализа моделей и контроллеров. Их можно включить с помощью параметра &amp;lt;code&amp;gt;-e&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Результаты тестов модели отобража.тся в выходноv HTML файл, наряду с тестами.&lt;br /&gt;
&lt;br /&gt;
Результаты для контроллеров сохраняются в файле &amp;lt;code&amp;gt;curl/cstats&amp;lt;/code&amp;gt;, который состоит из четырех столбцов, разделенных табуляцией.&lt;br /&gt;
&lt;br /&gt;
* Первый столбец содержит информацию о времени контроллера в секундах.&lt;br /&gt;
* Второй столбец показывает потребление памяти в МБ для реализации.&lt;br /&gt;
* Третий столбец - URL запроса.&lt;br /&gt;
* Четвертый включает HTTP POST контроллера.&lt;br /&gt;
&lt;br /&gt;
'' 'Пример: запрос о 10 наибольших потреблений памяти:'''&lt;br /&gt;
&lt;br /&gt;
cat curl/cstats | cut -f 1,2,3 | sort -n -r -k 2,2 | head -n 10&lt;br /&gt;
&lt;br /&gt;
'' Примечание: В данном руководстве рассматривается путь к FreenetIS предусмотренный в [[Установка FreenetIS]]''&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=2164</id>
		<title>Автоматическое тестирование</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=2164"/>
				<updated>2014-06-07T14:26:47Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: en:Automatic testing cz:Automatické testování  Автоматизированное тестирование используется в качестве обр...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Automatic testing]]&lt;br /&gt;
[[cz:Automatické testování]]&lt;br /&gt;
&lt;br /&gt;
Автоматизированное тестирование используется в качестве обратной связи с разработчиком и контроля над его действиями.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Архитектура теста ==&lt;br /&gt;
&lt;br /&gt;
Испытания полностью автоматизированы (Вам не нужно тестировать программы, необходимо только доставить данные для испытаний) и автоматически вносятся изменения в исходный код.&lt;br /&gt;
&lt;br /&gt;
Тесты позволяют проверить'''модели''','''помощники''' и'''контроллеры'''. Другие части системы проверяются только на корректность синтаксиса.&lt;br /&gt;
&lt;br /&gt;
Тесты по юнит-тестам не сравнивают полученные значения функций, а только проверяют не является ли ошибкой завершения работы.&lt;br /&gt;
&lt;br /&gt;
'''Тесты поддерживаются в *UNIX операционных системах.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Получение информации о исходном коде ===&lt;br /&gt;
&lt;br /&gt;
Получение информации о исходном коде выполняется автоматически с помощью скрипта, который проходит через все модули и получая от них необходимые. Эти данные хранятся в документе XML ('' / application / vendors/ unit_tester / unit_testing_config.xml'').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Установка тестов ==&lt;br /&gt;
&lt;br /&gt;
Установка необходимых библиотек:&lt;br /&gt;
&lt;br /&gt;
v Ubuntu/Debianu:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install curl perl libxml-writer-perl libxml-dom-perl&lt;br /&gt;
&lt;br /&gt;
Fedora:&lt;br /&gt;
&lt;br /&gt;
 sudo yum install curl perl perl-XML-Writer perl-XML-DOM php-xml&lt;br /&gt;
&lt;br /&gt;
'''Возможности:'''&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/freenetis&lt;br /&gt;
 chmod +x ./application/vendors/unit_tester/tester.sh&lt;br /&gt;
&lt;br /&gt;
'''Предотвращение отправки e-mail/SMS т.д.:'''&lt;br /&gt;
&lt;br /&gt;
Do config.php přidejte:&lt;br /&gt;
&lt;br /&gt;
 $config['unit_tester'] = TRUE;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Выполнение тестов ==&lt;br /&gt;
&lt;br /&gt;
'' 'Внимание: Тесты возможны только на локальном сервере разработки!'''&lt;br /&gt;
&lt;br /&gt;
  cd / var / www / freenetis / application / vendors / unit_tester&lt;br /&gt;
  . / tester.sh &amp;lt;URL&amp;gt; &amp;lt;LOGIN_NAME&amp;gt; &amp;lt;PASSWORD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'' Примечание: время работы всех тестов на Intel Core i5 2,53 ГГц с Ubuntu 11.04 составляет около четырех минут''.&lt;br /&gt;
&lt;br /&gt;
'''Пример с аргументами'''&lt;br /&gt;
&lt;br /&gt;
  . / Tester.sh-O http://localhost/freenetis Админ 123456&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Аргументы тестового скрипта ===&lt;br /&gt;
&lt;br /&gt;
  $. / Tester.sh - помощь&lt;br /&gt;
  Скрипт для тестирования FreenetIS&lt;br /&gt;
  ИСПОЛЬЗОВАНИЕ: tester.sh [параметры] URL Имя пользователя Пароль&lt;br /&gt;
 &lt;br /&gt;
  Опции:&lt;br /&gt;
   -О, --open-browser    Открыть браузер с ошибками моделей или помощников&lt;br /&gt;
                      автоматически, после обнаружения ошибок.&lt;br /&gt;
   -S, --skip-syntax        Пропустить проверку синтаксиса всех файлов&lt;br /&gt;
   -M, --skip-models      Пропустить тест моделей&lt;br /&gt;
   -H, --skip-helpers      Пропустить тест помощников&lt;br /&gt;
   -C, --skip-controllers Пропустить тест контроллеров&lt;br /&gt;
   -E, --enable-stats      Включить статистику и тесты&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Редактирование проверяемой информации ==&lt;br /&gt;
&lt;br /&gt;
Автоматически сгенерированных значений теста недостаточно для тестирования, поэтому уместно добавить некоторую дополнительную информацию.&lt;br /&gt;
&lt;br /&gt;
Например, определите модель в файле конфигурации, найдите соответствующие объекты (как заголовок и имена атрибутов).&lt;br /&gt;
&lt;br /&gt;
'' 'Модель генерируется автоматически:'''&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;MODEL name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;method name=&amp;quot;testovaci_funkce&amp;quot; autogenerate=&amp;quot;on&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;attributes&amp;gt;&lt;br /&gt;
          &amp;lt;attribute name=&amp;quot;user_id&amp;quot; default_value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;attribute name=&amp;quot;filter_values&amp;quot; default_value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/ attributes&amp;gt;&lt;br /&gt;
      &amp;lt;values&amp;gt;&lt;br /&gt;
          &amp;lt;input&amp;gt;&lt;br /&gt;
              value = &amp;quot;&amp;quot; /&amp;gt; &amp;lt;параметр&lt;br /&gt;
              value = &amp;quot;Array ()&amp;quot; /&amp;gt; &amp;lt;параметр&lt;br /&gt;
          &amp;lt;/input&amp;gt;&lt;br /&gt;
      &amp;lt;/ values&amp;gt;&lt;br /&gt;
  &amp;lt;/ Method&amp;gt;&lt;br /&gt;
  &amp;lt;/ model&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очень важным атрибутом метода является '''автоформирование'''. Если вы вносите изменения в методе и и устанавливаете их в '''off''' то при запуске тестирования изменения игнорируются.&lt;br /&gt;
&lt;br /&gt;
Тег'''ввод''' можно рассматривать как набор тестовых значений метода.&lt;br /&gt;
&lt;br /&gt;
'''Если вы не хотите, что метод был протестирован вообще (обычно это методы, которые зависят от объектов или вставки данных в базу данных), это может быть достигнуто следующим образом:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;model name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;testovaci_funkce&amp;quot; autogenerate=&amp;quot;off&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;attributes&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;user_id&amp;quot; default_value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;filter_values&amp;quot; default_value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/attributes&amp;gt;&lt;br /&gt;
         &amp;lt;values&amp;gt;&lt;br /&gt;
         &amp;lt;/values&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
 &amp;lt;/model&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Идеальные тестовые данные (попытка вставить пустые или бессмысленные значения) для нашей тестовой модели может выглядеть следующим образом:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;model name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;testovaci_funkce&amp;quot; autogenerate=&amp;quot;off&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;attributes&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;user_id&amp;quot; default_value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;filter_values&amp;quot; default_value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/attributes&amp;gt;&lt;br /&gt;
         &amp;lt;values&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array('id' =&amp;gt; '1')&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;abd'se$#@`&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;abd'se$#@`&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array('id' =&amp;gt; '1sef%se@š`', 'Ijnfsief' =&amp;gt; 'se2', 'sef$a;!')&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
         &amp;lt;/values&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
 &amp;lt;/model&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Дополнительные возможности для контроллеров ===&lt;br /&gt;
&lt;br /&gt;
Контроллеры могут также отправлять данные с помощью POST и HTTP GET, только для проверки входных параметров добавьте параметры в виде:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;param name=&amp;quot;post_name&amp;quot; type=&amp;quot;post&amp;quot; value=&amp;quot;hodnota&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;param name=&amp;quot;get_name&amp;quot; type=&amp;quot;get&amp;quot; value=&amp;quot;hodnota&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Работа редактирования испытания действия документа ===&lt;br /&gt;
&lt;br /&gt;
После каждого изменения файла конфигурации, вы должны проверить его корректность с помощью прилагаемого DTD (''/application/vendors/unit_tester/unit_testing_config.xml''), так как сам тест позволяет допустимые конфигурации!&lt;br /&gt;
&lt;br /&gt;
В Netbeans IDE проверка выполняется выбором  конфигурационного файла и запуском через контекстное меню проверки XML.&lt;br /&gt;
&lt;br /&gt;
== Статистика и критерии ==&lt;br /&gt;
&lt;br /&gt;
Тесты являются инструментом для анализа моделей и контроллеров. Их можно включить с помощью параметра &amp;lt;code&amp;gt;-e&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Результаты тестов модели отобража.тся в выходноv HTML файл, наряду с тестами.&lt;br /&gt;
&lt;br /&gt;
Результаты для контроллеров сохраняются в файле &amp;lt;code&amp;gt;curl/cstats&amp;lt;/code&amp;gt;, который состоит из четырех столбцов, разделенных табуляцией.&lt;br /&gt;
&lt;br /&gt;
* Первый столбец содержит информацию о времени контроллера в секундах.&lt;br /&gt;
* Второй столбец показывает потребление памяти в МБ для реализации.&lt;br /&gt;
* Третий столбец - URL запроса.&lt;br /&gt;
* Четвертый включает HTTP POST контроллера.&lt;br /&gt;
&lt;br /&gt;
'' 'Пример: запрос о 10 наибольших потреблений памяти:'''&lt;br /&gt;
&lt;br /&gt;
cat curl/cstats | cut -f 1,2,3 | sort -n -r -k 2,2 | head -n 10&lt;br /&gt;
&lt;br /&gt;
'' Примечание: В данном руководстве рассматривается путь к FreenetIS предусмотренный в [[Установка FreenetIS]]''&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Automatick%C3%A9_testov%C3%A1n%C3%AD&amp;diff=2163</id>
		<title>Automatické testování</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Automatick%C3%A9_testov%C3%A1n%C3%AD&amp;diff=2163"/>
				<updated>2014-06-07T14:23:50Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Automatic testing]]&lt;br /&gt;
[[ru:Автоматическое тестирование]]&lt;br /&gt;
&lt;br /&gt;
Automatické testování slouží jako zpětná kontrola provedených akcí vývojáře.&lt;br /&gt;
&lt;br /&gt;
== Architektura testů ==&lt;br /&gt;
&lt;br /&gt;
Testy jsou zcela automatizované (programátor nemusí testy programovat, ale jen dodávat data k jejich testovaní) a automaticky přizpůsobitelně změnám ve zdrojových kódech.&lt;br /&gt;
&lt;br /&gt;
Testy umožňují kontrolovat '''modely''', '''helpery''' a '''controllery''', ostatní části systému jsou kontrolovány pouze na jejich syntaktickou správnost.&lt;br /&gt;
&lt;br /&gt;
Testy oproti unit testům neporovnávají výsledné hodnoty daných funkcí ale pouze ověřují zda-li neskončil běh chybou.&lt;br /&gt;
&lt;br /&gt;
'''Testy jsou podporovány na *unix operačních systémech.'''&lt;br /&gt;
&lt;br /&gt;
=== Načtení informací o zdrojových kódech ===&lt;br /&gt;
&lt;br /&gt;
Načtení informací o zdrojových kódech probíhá automaticky pomocí skriptu, který prochází všechny testované subjekty a získává z nich data nutná k volání rutin subjektů. Tyto data jsou ukládána do XML dokumentu (''/application/vendors/unit_tester/unit_testing_config.xml'').&lt;br /&gt;
&lt;br /&gt;
== Instalace testů ==&lt;br /&gt;
&lt;br /&gt;
Instalace potřebných knihoven:&lt;br /&gt;
&lt;br /&gt;
v Ubuntu/Debianu:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install curl perl libxml-writer-perl libxml-dom-perl&lt;br /&gt;
&lt;br /&gt;
ve Fedoře:&lt;br /&gt;
&lt;br /&gt;
 sudo yum install curl perl perl-XML-Writer perl-XML-DOM php-xml&lt;br /&gt;
&lt;br /&gt;
'''Přidělení práv:'''&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/freenetis&lt;br /&gt;
 chmod +x ./application/vendors/unit_tester/tester.sh&lt;br /&gt;
&lt;br /&gt;
'''Zamezení posílání e-mailů/SMS apod.:'''&lt;br /&gt;
&lt;br /&gt;
Do config.php přidejte:&lt;br /&gt;
&lt;br /&gt;
 $config['unit_tester'] = TRUE;&lt;br /&gt;
&lt;br /&gt;
== Spuštění testů ==&lt;br /&gt;
&lt;br /&gt;
'''Upozornění: Testy spouštějte pouze na lokálním vývojovém serveru!'''&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/freenetis/application/vendors/unit_tester&lt;br /&gt;
 ./tester.sh &amp;lt;URL&amp;gt; &amp;lt;LOGIN_NAME&amp;gt; &amp;lt;PASSWORD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''poznámka: Doba běhu všech testů na Intel Core i5 2.53GHz s Ubuntu 11.04 je cca 4 minuty.''&lt;br /&gt;
&lt;br /&gt;
'''Příklad s argumenty:'''&lt;br /&gt;
&lt;br /&gt;
 ./tester.sh -o http://localhost/freenetis admin 123456&lt;br /&gt;
&lt;br /&gt;
=== Argumenty testovacího skriptu ===&lt;br /&gt;
&lt;br /&gt;
 $ ./tester.sh --help&lt;br /&gt;
 Script for testing FreenetIS&lt;br /&gt;
 USAGE: tester.sh [options] URL username password&lt;br /&gt;
 &lt;br /&gt;
 Options:&lt;br /&gt;
  -o, --open-browser     Opens browser with models or helpers errors&lt;br /&gt;
                         automatically, after error detection.&lt;br /&gt;
  -s, --skip-syntax      Skip syntax check of all files&lt;br /&gt;
  -m, --skip-models      Skip test of models&lt;br /&gt;
  -h, --skip-helpers     Skip test of helpers&lt;br /&gt;
  -c, --skip-controllers Skip test of controllers&lt;br /&gt;
  -e, --enable-stats	  Turn on statistics and benchmarks&lt;br /&gt;
&lt;br /&gt;
== Úprava testovaných informací ==&lt;br /&gt;
&lt;br /&gt;
Automaticky vygenerované testovací hodnoty nejsou pro testování dostatečné, proto je vhodné doplnit některé další hodnoty.&lt;br /&gt;
&lt;br /&gt;
Postupy uvedeme na příkladu modelu, v konfiguračním souboru nalezněte příslušný subjekt (dle názvu tagu a atributu jména).&lt;br /&gt;
&lt;br /&gt;
'''Model po automatickém vygenerování:'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;model name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;testovaci_funkce&amp;quot; autogenerate=&amp;quot;on&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;attributes&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;user_id&amp;quot; default_value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;filter_values&amp;quot; default_value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/attributes&amp;gt;&lt;br /&gt;
         &amp;lt;values&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
         &amp;lt;/values&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
 &amp;lt;/model&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Velmi důležitý je atribut metody '''autogenerate''', pokud provedete změny v metodě a nenastavíte jej na hodnotu '''off''' změny se při spuštění testování zahodí.&lt;br /&gt;
&lt;br /&gt;
Tag '''input''' lze chápat jako jednu sadu testovaných hodnot dané metody.&lt;br /&gt;
&lt;br /&gt;
'''Pokud si nepřejete aby metoda byla testována vůbec (časté u metod, které jsou závislé na objektech, nebo vkládají data do databáze), lze toho docílit takto:'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;model name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;testovaci_funkce&amp;quot; autogenerate=&amp;quot;off&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;attributes&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;user_id&amp;quot; default_value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;filter_values&amp;quot; default_value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/attributes&amp;gt;&lt;br /&gt;
         &amp;lt;values&amp;gt;&lt;br /&gt;
         &amp;lt;/values&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
 &amp;lt;/model&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Ideální testovací data (snažíme se vkládat i nesmyslné a prázné hodnoty) pro náš testovací model mohou vypadat takto:'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;model name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;testovaci_funkce&amp;quot; autogenerate=&amp;quot;off&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;attributes&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;user_id&amp;quot; default_value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;filter_values&amp;quot; default_value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/attributes&amp;gt;&lt;br /&gt;
         &amp;lt;values&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array('id' =&amp;gt; '1')&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;abd'se$#@`&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;abd'se$#@`&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array('id' =&amp;gt; '1sef%se@š`', 'Ijnfsief' =&amp;gt; 'se2', 'sef$a;!')&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
         &amp;lt;/values&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
 &amp;lt;/model&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dodatečné vlastnosti pro controllery ===&lt;br /&gt;
&lt;br /&gt;
Pro controllery lze posílat i data pomocí POST a GET HTTP akce, stačí do vstupního parametrů testu přidat parametry ve tvaru:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;param name=&amp;quot;post_name&amp;quot; type=&amp;quot;post&amp;quot; value=&amp;quot;hodnota&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;param name=&amp;quot;get_name&amp;quot; type=&amp;quot;get&amp;quot; value=&amp;quot;hodnota&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Po-editační testovaní validity dokumentu ===&lt;br /&gt;
&lt;br /&gt;
Po každé editaci konfiguračního souboru je vhodné zkontrolovat jeho validitu pomocí dodaného DTD (''/application/vendors/unit_tester/unit_testing_config.xml''), jelikož samotný test počítá s validní konfigurací!&lt;br /&gt;
&lt;br /&gt;
V IDE Netbeans kontrolu validity provedete pomocí označení konfiguračního souboru a následného vyvolání jeho kontextového menu a položky Validate XML.&lt;br /&gt;
&lt;br /&gt;
== Statistiky a benchmarky ==&lt;br /&gt;
&lt;br /&gt;
Součástí testů jsou i nástroje pro benchmarky modelů a controllerů. Lze je zapnout pomocí parametru &amp;lt;code&amp;gt;-e&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Výsledky benchmarků u modelů je zobrazováno ve výstupním HTML souboru společně s testy.&lt;br /&gt;
&lt;br /&gt;
Výsledky u controllerů jsou ukládány do souboru &amp;lt;code&amp;gt;curl/cstats&amp;lt;/code&amp;gt;, který má čtyři sloupce oddělené tabulátorem.&lt;br /&gt;
&lt;br /&gt;
* První slopec obsahuje informaci o době provádění controlleru v sekundách.&lt;br /&gt;
* Druhý sloupec obsahuje spotřebu paměti v MB pro dané provádění.&lt;br /&gt;
* Třetí sloupec je URL požadavku.&lt;br /&gt;
* Čtvrtý obsahuje hodnoty HTTP POST odeslané controlleru.&lt;br /&gt;
&lt;br /&gt;
''' Příklad výpsání 10 požadávků s největší spotřebou paměti: '''&lt;br /&gt;
&lt;br /&gt;
 cat curl/cstats | cut -f 1,2,3 | sort -n -r -k 2,2 | head -n 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Poznámka: V celém návodu je uvažována cesta k FreenetISu odvozená z [[Instalace FreenetIS]]''&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Automatic_testing&amp;diff=2162</id>
		<title>Automatic testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Automatic_testing&amp;diff=2162"/>
				<updated>2014-06-07T14:23:41Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Automatické testování]]&lt;br /&gt;
[[ru:Автоматическое тестирование]]&lt;br /&gt;
&lt;br /&gt;
Automated testing is used as feedback control of your actions developer.&lt;br /&gt;
&lt;br /&gt;
== Architecture tests ==&lt;br /&gt;
&lt;br /&gt;
The tests are fully automated (You do not need testing program, but only deliver data to their testing) and automatically customizable changes in the source code.&lt;br /&gt;
&lt;br /&gt;
Tests allow you to check'''models''','''helpers''' and'''controllers''', other parts of the system are checked only on their syntactic correctness.&lt;br /&gt;
&lt;br /&gt;
Tests over unit tests do not compare the resulting values ​​of the function but only verify whether finished running error.&lt;br /&gt;
&lt;br /&gt;
'''Tests are supported on *UNIX operating systems.'''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving information about the source code ===&lt;br /&gt;
&lt;br /&gt;
Retrieving information about the source code is done automatically using a script that goes through all the subjects and obtained from them the necessary data to the calling routine subjects. These data are stored in a XML document ('' / application / vendors / unit_tester / unit_testing_config.xml'').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation tests ==&lt;br /&gt;
&lt;br /&gt;
Installing the required libraries:&lt;br /&gt;
&lt;br /&gt;
Ubuntu / Debian:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install curl perl libxml-writer-perl libxml-dom-perl&lt;br /&gt;
&lt;br /&gt;
Fedora:&lt;br /&gt;
&lt;br /&gt;
  sudo yum install curl perl perl-XML-Writer perl-XML-DOM php-xml&lt;br /&gt;
&lt;br /&gt;
'' 'The possibilities:'''&lt;br /&gt;
&lt;br /&gt;
  cd / var / www / freenetis&lt;br /&gt;
  chmod + x. / application / vendors / unit_tester / tester.sh&lt;br /&gt;
&lt;br /&gt;
'' 'Preventing sending e-mail/SMS etc.:'''&lt;br /&gt;
&lt;br /&gt;
Do config.php add:&lt;br /&gt;
&lt;br /&gt;
  $ config ['unit_tester'] = TRUE;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running tests ==&lt;br /&gt;
&lt;br /&gt;
'' 'Warning: Test Run only on the local development server!'''&lt;br /&gt;
&lt;br /&gt;
  cd / var / www / freenetis / application / vendors / unit_tester&lt;br /&gt;
  . / tester.sh &amp;lt;URL&amp;gt; &amp;lt;LOGIN_NAME&amp;gt; &amp;lt;PASSWORD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'' Note: The running time of all tests on Intel Core i5 2.53GHz with Ubuntu 11.04 is about four minutes.''&lt;br /&gt;
&lt;br /&gt;
'' 'Example with arguments'''&lt;br /&gt;
&lt;br /&gt;
  . / tester.sh-o http://localhost/freenetis admin 123456&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments test script ===&lt;br /&gt;
&lt;br /&gt;
  $. / Tester.sh - help&lt;br /&gt;
  Script for testing FreenetIS&lt;br /&gt;
  USAGE: tester.sh [options] URL username password&lt;br /&gt;
 &lt;br /&gt;
  Options:&lt;br /&gt;
   -o, - open-browser    Opens browser with models or helpers errors&lt;br /&gt;
                      automatically, after error detection.&lt;br /&gt;
   -s, - skip-syntax        Skip syntax check of all files&lt;br /&gt;
   -m, - skip-models     Skip test of models&lt;br /&gt;
   -h, - skip-helpers      Skip test of helpers&lt;br /&gt;
   -c, - skip-controllers Skip test of controllers&lt;br /&gt;
   -e, - enable-stats      Turn on statistics and benchmarks&lt;br /&gt;
&lt;br /&gt;
== Editing tested information ==&lt;br /&gt;
&lt;br /&gt;
Automatically generated test values ​​are not sufficient for testing, so it is appropriate to add some additional value.&lt;br /&gt;
&lt;br /&gt;
For example, indicate the model in the configuration file, find the relevant entity (as the title tag and attribute names).&lt;br /&gt;
&lt;br /&gt;
'' 'Model been automatically generated:'''&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Model name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;method name=&amp;quot;testovaci_funkce&amp;quot; autogenerate=&amp;quot;on&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;attributes&amp;gt;&lt;br /&gt;
          &amp;lt;attribute name=&amp;quot;user_id&amp;quot; default_value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;attribute name=&amp;quot;filter_values&amp;quot; default_value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/ attributes&amp;gt;&lt;br /&gt;
      &amp;lt;values&amp;gt;&lt;br /&gt;
          &amp;lt;input&amp;gt;&lt;br /&gt;
              value=&amp;quot;&amp;quot; /&amp;gt; &amp;lt;param&lt;br /&gt;
              value=&amp;quot;array()&amp;quot; /&amp;gt; &amp;lt;param&lt;br /&gt;
          &amp;lt;/ input&amp;gt;&lt;br /&gt;
      &amp;lt;/ values​​&amp;gt;&lt;br /&gt;
  &amp;lt;/ method&amp;gt;&lt;br /&gt;
  &amp;lt;/ model&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Very important is the attribute method'' 'autogenerate''' if you make changes in the method and made it to'' 'off''' changes when you start testing discarded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag'' 'input''' can be understood as a set of test values ​​of the method.&lt;br /&gt;
&lt;br /&gt;
'' 'If you do not want that method has been tested at all (common with methods that depend on objects, or insert data into the database), this can be achieved as follows:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;model name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;testovaci_funkce&amp;quot; autogenerate=&amp;quot;off&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;attributes&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;user_id&amp;quot; default_value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;filter_values&amp;quot; default_value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/attributes&amp;gt;&lt;br /&gt;
         &amp;lt;values&amp;gt;&lt;br /&gt;
         &amp;lt;/values&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
 &amp;lt;/model&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'' 'Ideal test data (trying to insert an empty and meaningless and value) for our test model might look like this:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;model name=&amp;quot;test&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;testovaci_funkce&amp;quot; autogenerate=&amp;quot;off&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;attributes&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;user_id&amp;quot; default_value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;attribute name=&amp;quot;filter_values&amp;quot; default_value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/attributes&amp;gt;&lt;br /&gt;
         &amp;lt;values&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array()&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array('id' =&amp;gt; '1')&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;abd'se$#@`&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;abd'se$#@`&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
             &amp;lt;input&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;param value=&amp;quot;array('id' =&amp;gt; '1sef%se@š`', 'Ijnfsief' =&amp;gt; 'se2', 'sef$a;!')&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/input&amp;gt;&lt;br /&gt;
         &amp;lt;/values&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
 &amp;lt;/model&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Additional features for controllers ===&lt;br /&gt;
&lt;br /&gt;
The controllers can also send data using POST and HTTP GET action, just to test the input parameters add parameters in the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;param name=&amp;quot;post_name&amp;quot; type=&amp;quot;post&amp;quot; value=&amp;quot;hodnota&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;param name=&amp;quot;get_name&amp;quot; type=&amp;quot;get&amp;quot; value=&amp;quot;hodnota&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== After-editing tested validity of the document ===&lt;br /&gt;
&lt;br /&gt;
After each editing the configuration file, you should check its validity using the supplied DTD ('' / application / vendors / unit_tester / unit_testing_config.xml'') as the test itself allows for valid configurations!&lt;br /&gt;
&lt;br /&gt;
In Netbeans IDE validity checking done by marking the configuration file and then invoke the context menu items and Validate XML.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statistics and benchmarks ==&lt;br /&gt;
&lt;br /&gt;
The tests are tools for benchmarking models and controllers. They can be turned on using the parameter &amp;lt;code&amp;gt;-e &amp;lt;/ code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The results of benchmark models is displayed in the output HTML file, along with the tests.&lt;br /&gt;
&lt;br /&gt;
Results for the controllers are stored in a file &amp;lt;code&amp;gt; curl / cstats &amp;lt;/ code&amp;gt;, which has four columns separated by a tab.&lt;br /&gt;
&lt;br /&gt;
* The first column contains the information about the time of the controller in seconds.&lt;br /&gt;
* The second column shows memory consumption in MB for the implementation.&lt;br /&gt;
* The third column is the URL request.&lt;br /&gt;
* The fourth includes the HTTP POST sent controller.&lt;br /&gt;
&lt;br /&gt;
'''Example hits the 10 requirements with the largest memory consumption:'''&lt;br /&gt;
&lt;br /&gt;
  cat curl / cstats | cut-f 1,2,3 | sort-n-r-k 2,2 | head-n 10&lt;br /&gt;
&lt;br /&gt;
'' Note: Throughout this manual is considered the path to FreenetIS derived from [[Installation FreenetIS]]''&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Automatick%C3%A1_zm%C4%9Bna_struktury_datab%C3%A1ze&amp;diff=2161</id>
		<title>Automatická změna struktury databáze</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Automatick%C3%A1_zm%C4%9Bna_struktury_datab%C3%A1ze&amp;diff=2161"/>
				<updated>2014-06-07T14:18:29Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Automatic change of database structure]]&lt;br /&gt;
[[ru:Автоматическая смена структуры базы данных]]&lt;br /&gt;
&lt;br /&gt;
FreenetIS obsahuje mechanismus pro automatickou změnu struktury databáze. Tyto změny jsou provedeny po spuštění FreenetISu (po otevření v prohlížeči) po jeho aktualizaci (zde nezáleží, zda-li se jedná o aktualizace skrze balíčkovací systém, nebo z vývojářského repozitáře). Provedené změny nelze zrušit, což znamená, že snížení verze (downgrade) FreenetISu není možné (tento jev lze samozřejmě odstranit manuální změnou databáze ze zálohy, při které ovšem nejsme schopni zaručit správnost výsledného stavu sytému).&lt;br /&gt;
&lt;br /&gt;
Mechanismus pro aktualizaci je úzce spjat s [http://wiki.freenetis.org/index.php/Verzování_FreenetISu verzováním FreenetISu]. Ve složce '''/db_upgrades''' se nachází soubory se změnami pro jednotlivé verze FreenetISu. Jména souborů jsou ve formátu '''upgrade_sql_VERZE.php''', kde '''VERZE''' je nahrazena verzí FreenetISu. Soubory samotné musí obsahovat položku pole '''$upgrade_sql''' s indexem daným verzí FreenetISu. Tato položka obsahuje pole SQL příkazů, které jsou postupně spuštěny. Dále může obsahovat PHP funkce spouštěné před a po provedení SQL příkazů, které jsou používané pokud např. nelze data databáze převést mezi jednotlivými verzemi přímo pomocí SQL příkazů. Obě funkce mohou obsahovat libovolné PHP příkazy a musí vracet pravdivostní hodnotu (boolean).&lt;br /&gt;
&lt;br /&gt;
Příklad souboru se změnami:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  * &lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * http://www.gnu.org/licenses/gpl-3.0.html&lt;br /&gt;
  * &lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * http://www.freenetis.org/&lt;br /&gt;
  * &lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 /** This upgrade is equal to one in 1.0.0~beta2 developer revision */&lt;br /&gt;
 $upgrade_equal_to['1.0.0~rc1'] = '1.0.0~beta2'; &lt;br /&gt;
 &lt;br /&gt;
 function upgrade_1_0_0_rc1_before()&lt;br /&gt;
 {&lt;br /&gt;
 	echo &amp;quot;Some PHP code triggered before processing of all SQL commands&amp;quot;&lt;br /&gt;
 	return TRUE;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 $upgrade_sql['1.0.0~rc1'] = array&lt;br /&gt;
 (&lt;br /&gt;
 	&amp;quot;ALTER TABLE `ifaces` CHANGE `device_id` `device_id` INT( 11 ) NOT NULL&amp;quot;,&lt;br /&gt;
 &lt;br /&gt;
 	&amp;quot;UPDATE ifaces i, wireless_ifaces wi&lt;br /&gt;
 	SET wireless_mode = wmode, wireless_antenna = antenna&lt;br /&gt;
 	WHERE wi.iface_id = i.id&amp;quot;,&lt;br /&gt;
 &lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 function upgrade_1_0_0_rc1_after()&lt;br /&gt;
 {&lt;br /&gt;
 	echo &amp;quot;Some PHP code triggered after processing of all SQL commands&amp;quot;&lt;br /&gt;
 	return TRUE;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Pokud některý z SQL příkazů vyvolá chybu, popřípadě některá funkce vrátí FALSE, je provádění ukončeno a chyba zobrazena uživateli. Při tomto stavu je FreeneIS nefunkční, pokud takový stav nastane, doporučujeme kontaktovat vývojáře a ze zálohy si obnovit poslední fungující verzi databáze (společně se snížením verze FreenetISu).&lt;br /&gt;
&lt;br /&gt;
=== Aktuální stav databáze ===&lt;br /&gt;
&lt;br /&gt;
Stav databáze je uchováván v databázové tabulce config v poli '''db_schema_version''', které obsahuje aktuální verzi databáze. Pokud je databáze v chybovém stavu, nepovedený krok je zaznamenán v poli '''upgrade_midpoint_error'''. Tato hodnota umožňuje opětovné provedení aktualizace od chybné položky, proto při chybě stačí opravit chybnou položku a znovu spustit FreenetIS v prohlížeči.&lt;br /&gt;
&lt;br /&gt;
=== Relace mezi změnami ===&lt;br /&gt;
&lt;br /&gt;
V příkladu se ještě nachází položka '''$upgrade_equal_to['1.0.0~rc1']''', která je používaná pro vývojářské účely. ''(Při mergi změn z větve do trunku/testingu lze hodnotu tohoto pole vyplnit vývojovou verzí, která obsahovala stejnou sadu příkazů (a funkcí). Pokud se databáze nachází ve stavu vývojové verze a je jí nabídnuta verze, která pomocí tohoto pole odkazuje na vývojovou verzi. Je tato verze přeskočena. '''Soubor se změnami odkazované verze je v commitu odstraněn!!''')''&lt;br /&gt;
&lt;br /&gt;
== Přechod ze starší verze mechanismu ==&lt;br /&gt;
&lt;br /&gt;
Starší verze FreeneISu (vývojová verze před vydáním verze 1.0.0) obsahovala starší verzi mechanismu (založenou na SVN revizi). Pokud provádíte čistou instalaci nad novou databází, tento problém se Vás netýká.&lt;br /&gt;
&lt;br /&gt;
Přechod mezi tímto mechanismem lze provest pomocí několika příkazů svn.&lt;br /&gt;
&lt;br /&gt;
1) Otevřte terminál (příkazovou řádku) a přesuňte se do adresáře s instalací FreenetISu, typicky:&lt;br /&gt;
&lt;br /&gt;
 $ cd /var/www/freenetis&lt;br /&gt;
&lt;br /&gt;
2) Přejděte na poslední revizi s upgradem databáze před vydání verze 1.0.0&lt;br /&gt;
&lt;br /&gt;
 $ svn -r 1559 up&lt;br /&gt;
&lt;br /&gt;
3) Spusťte v prohlížeči FreenetIS a pokud jsou úpravy úspěšně provedeny přejděte na další krok.&lt;br /&gt;
&lt;br /&gt;
4) Přejděte na nejnovější verzi FreenetISu. Nový mechanismus již automaticky rozpozná verzi databáze (starý mechanismus) a provede přechod.&lt;br /&gt;
&lt;br /&gt;
 $ svn up&lt;br /&gt;
&lt;br /&gt;
'''POSLEDNÍ KROK JE OVŠEM NEDOPORUČOVANÝ, JELIKOŽ OD VYDÁNÍ VERZE 1.0.0 SE UPUSTILO OD DISTRIBUCE FREENETISU PROMOCÍ SUBVERSION, PROTO POSLEDNÍ KROK DOPORUČUJEME NAHRADIT PŘEINSTALACÍ FREENETISU Z BALÍČKOVACÍCH SYSTÉMU (data samozřejmě zůstanou zachována, jelikož i při přeinstalaci můžete zvolit Vaši původní databázi).'''&lt;br /&gt;
&lt;br /&gt;
== Bezpečna změna databáze do verze 1.0.0 ==&lt;br /&gt;
&lt;br /&gt;
Do vezre 1.0.0 neobsahoval FreenetIS bezpečnostní pojistky pro výcečetné spuštění upgradu. Tento problém nastavá v případě, že více lidí/služeb přistupují na FreenetIS při upgradu databáze. Následujícím postupem se vyhnete problému při upgradu databáze: ('''Tento návod se týká FreenetISu do verze 1.0.0, od této verze (včetně) je správný chod zaručen automaticky.''')&lt;br /&gt;
&lt;br /&gt;
1) Vypneme všechny služby přistupující k FreenetISu (CRON, přesměrování. QoS, monitoring, ...). Např. CRON na Debianu se vypíná následovně:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/cron stop&lt;br /&gt;
&lt;br /&gt;
2) Vypneme apache server&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 stop&lt;br /&gt;
&lt;br /&gt;
3) Provedeme upgrade&lt;br /&gt;
&lt;br /&gt;
 wget http://&amp;lt;cesta k vašemu FreenetISu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Spustíme znovu apache a služby&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 start&lt;br /&gt;
 /etc/init.d/cron start&lt;br /&gt;
 ...&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D0%BC%D0%B5%D0%BD%D0%B0_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=2160</id>
		<title>Автоматическая смена структуры базы данных</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D0%BC%D0%B5%D0%BD%D0%B0_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=2160"/>
				<updated>2014-06-07T14:18:00Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs:Automatická změna struktury databáze en:Automatic change of database structure  FreenetIS включает в себя механизм автоматичес...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Automatická změna struktury databáze]]&lt;br /&gt;
[[en:Automatic change of database structure]]&lt;br /&gt;
&lt;br /&gt;
FreenetIS включает в себя механизм автоматического изменения структуры базы данных. Эти изменения выполняются  после старта FreenetIS (после открытия браузера), после обновления ( здесь это не имеет значения , происходит ли это обновление через систему пакетов , или через развитие хранилища ) . Изменения не могут быть отменены , а это значит , что понижение версии FreenetIS не возможно ( конечно, это может быть выполнено вручную через восстановление базы данных из резервной копии, однако , мы не можем гарантироватькорректность конечного состояния системы ) .&lt;br /&gt;
&lt;br /&gt;
Механизм обновления тесно связан с [ http://wiki.freenetis.org/index.php/Verzování_FreenetIS версий FreenetIS ] . В папке '' ' / db_upgrades ''' находится файл с изменениями каждой версии FreenetIS . Имена файлов в формате '' ' upgrade_sql_VERZE.php '' ', где '''VERZE''' заменяется версией FreenetIS . Сам файл должен содержатьполе '''$ upgrade_sql ''' с индексом версии данного FreenetIS. Этот пункт содержит массив SQL операторов, которые выполняются последовательно. Он может также содержать PHP функции, которые выполняются до и после выполнения SQL- команд, которые используются, например, если данные не могут быть переданы между разными версиями непосредственно с помощью SQL команд. Обе функции могут содержать произвольные команды PHP и должна возвращать логическое значение (Boolean) .&lt;br /&gt;
&lt;br /&gt;
Исходный файл изменений:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;PHP определена ('SYSPATH') или умереть (&amp;quot;Нет прямого доступа скрипта. ')?;&lt;br /&gt;
  / *&lt;br /&gt;
   * Этот файл является частью открытого кода FreenetIS&lt;br /&gt;
   * И он выпущен под лицензией GPLv3.&lt;br /&gt;
   *&lt;br /&gt;
   * Более подробную информацию о лицензии можно найти:&lt;br /&gt;
   * http://www.gnu.org/licenses/gpl-3.0.html&lt;br /&gt;
   *&lt;br /&gt;
   * Более подробную информацию о проекте можно найти:&lt;br /&gt;
   * http://www.freenetis.org/&lt;br /&gt;
   *&lt;br /&gt;
   * /&lt;br /&gt;
 &lt;br /&gt;
 /** This upgrade is equal to one in 1.0.0~beta2 developer revision */&lt;br /&gt;
 $upgrade_equal_to['1.0.0~rc1'] = '1.0.0~beta2';&lt;br /&gt;
 &lt;br /&gt;
 function upgrade_1_0_0_rc1_before()&lt;br /&gt;
 {&lt;br /&gt;
     echo &amp;quot;Some PHP code triggered before processing of all SQL commands&amp;quot;&lt;br /&gt;
     return TRUE;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 $upgrade_sql['1.0.0~rc1'] = array&lt;br /&gt;
 (&lt;br /&gt;
     &amp;quot;ALTER TABLE `ifaces` CHANGE `device_id` `device_id` INT( 11 ) NOT NULL&amp;quot;,&lt;br /&gt;
 &lt;br /&gt;
     &amp;quot;UPDATE ifaces i, wireless_ifaces wi&lt;br /&gt;
     SET wireless_mode = wmode, wireless_antenna = antenna&lt;br /&gt;
     WHERE wi.iface_id = i.id&amp;quot;,&lt;br /&gt;
 &lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 function upgrade_1_0_0_rc1_after()&lt;br /&gt;
 {&lt;br /&gt;
     echo &amp;quot;Some PHP code triggered after processing of all SQL commands&amp;quot;&lt;br /&gt;
     return TRUE;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Связь между изменениями ===&lt;br /&gt;
&lt;br /&gt;
Если любой из оператор SQL генерирует ошибку или некоторая функция возвращает FALSE, выполнение завершается, и ошибка отображается для пользователя. Когда возникает такая ситуация и FreeneIS выйходит из строя, мы рекомендуем вам обратиться к разработчику для восстановления последней рабочей версии базы данных (наряду с снижением версии  FreenetIS).&lt;br /&gt;
&lt;br /&gt;
=== Текущее состояние базы данных ===&lt;br /&gt;
&lt;br /&gt;
Текущее состояние базы данных хранится в таблице базы данных в поле '''db_schema_version''', которое содержит текущую версию базы данных. Если база данных находится в состоянии ошибки, этот шаг записывается в '''upgrade_midpoint_error'''. Это значение позволяет повторно выполнить обновление с этого шага, таким образом ошибка исправляется и повторно запускается браузера FreenetIS&lt;br /&gt;
&lt;br /&gt;
=== Связь между изменениями ===&lt;br /&gt;
&lt;br /&gt;
В этом примере есть пункт'' '$ upgrade_equal_to ['1 .0.0 ~ rc1']'' ', который используется для целей разработки. '' (При слиянии изменений разных частей значение этого поля может заполнено разрабатываемой версией, которая содержит тот же набор команд (и функции). Если база данных находится в состоянии разработки и предлагается версия которая использует это поле относительно версии разработки. Пропустите эту версию. '' 'Файл с изменениями этой версии после выполнения операции будет удален!''')''&lt;br /&gt;
&lt;br /&gt;
== Переход от старых версий ==&lt;br /&gt;
&lt;br /&gt;
Старые версии FreeneIS (до версии 1.0.0) включают в себя более раннюю версию механизма (на основе пересмотра SVN) . Если вы выполняете чистую установку новой базы данных , эта проблема вас не касается .&lt;br /&gt;
&lt;br /&gt;
Переход между этот механизм может быть выполнена с использованием нескольких SVN команд.&lt;br /&gt;
&lt;br /&gt;
1) Откройте терминал (командная строка) и перейдите в каталог с установкой FreenetISu , обычно :&lt;br /&gt;
&lt;br /&gt;
 $ Cd / Var / WWW / freenetis&lt;br /&gt;
&lt;br /&gt;
2) Перейдите к последней редакции , чтобы обновить базу данных до выхода версии 1.0.0&lt;br /&gt;
&lt;br /&gt;
$ Svn up-r 1559&lt;br /&gt;
&lt;br /&gt;
3) Запуститебраузер FreenetIS и если корректировка осуществляется успешно перейдите к следующему шагу.&lt;br /&gt;
&lt;br /&gt;
4) Перейти к последней версии FreenetIS . Новый механизм автоматически обнаруживает версию базы данных (старый тип) и осуществляет переход .&lt;br /&gt;
&lt;br /&gt;
$ Svn up&lt;br /&gt;
&lt;br /&gt;
Последний шаг однако не рекомендуется потому что начиная с релиза 1.0.0 выпала градация субверсий FreenetIS. Поэтому рекомендуется переустановка коробочной версии системы (Конечно, данные будут сохранены потому что даже при переустановке, вы можете выбрать исходную базу данных)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Безопасное изменение версии до 1.0.0 ==&lt;br /&gt;
&lt;br /&gt;
До версии FreenetIS 1.0.0 не обеспечивается безопасное одновременное внесение изменений.  Эта проблема возникает, когда несколько людей / услуг FreenetIS осуществляют доступ к обновлению  базы данных. Выполните следующие действия, чтобы избежать проблем при обновлении базы данных: ('' '. Эта инструкция FreenetIS применима до версии 1.0.0, так как с этой версии (в комплекте) автоматически гарантируется правильная работа''')&lt;br /&gt;
&lt;br /&gt;
1) Выключите все услуги доступа к FreenetIS  (CRON, redirect. QoS, monitoring, ...). Например CRON на Debian следующим образом:&lt;br /&gt;
&lt;br /&gt;
  / etc / init.d / cron stop&lt;br /&gt;
&lt;br /&gt;
2) Выключите сервер apache&lt;br /&gt;
&lt;br /&gt;
  / etc/init.d/apache2 stop&lt;br /&gt;
&lt;br /&gt;
3) Выполнение обновления&lt;br /&gt;
&lt;br /&gt;
  wget http:// &amp;lt;path_to_mount_directory&amp;gt; ваш FreenetIS&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Перезапустите Apache и услуги&lt;br /&gt;
&lt;br /&gt;
  / etc/init.d/apache2 start&lt;br /&gt;
  / etc / init.d / cron start&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Automatic_change_of_database_structure&amp;diff=2159</id>
		<title>Automatic change of database structure</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Automatic_change_of_database_structure&amp;diff=2159"/>
				<updated>2014-06-07T14:15:16Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Automatická změna struktury databáze]]&lt;br /&gt;
[[ru:Автоматическая смена структуры базы данных]]&lt;br /&gt;
&lt;br /&gt;
FreenetIS includes a mechanism for automatically changing the structure of the database. These changes are made ​​after the start FreenetIS (after opening the browser ) after the update ( here it does not matter whether it is an update through the package system , or from the development repository ) . The changes can not be canceled , which means that the downgrade FreenetIS not possible ( of course, this phenomenon can be removed manually changing the database from a backup , in which, however, we can not guarantee the correctness of the final state of the system) .&lt;br /&gt;
&lt;br /&gt;
The mechanism for updating is closely related to [ http://wiki.freenetis.org/index.php/Verzování_FreenetIS versioning FreenetIS ] . In the folder '' '/ db_upgrades ''' is a file with the changes for each version FreenetIS . The file names are in the format '' ' upgrade_sql_VERZE.php ''' , where '' 'Version ''' is replaced by version FreenetIS . File itself must contain an entry field '' '$ upgrade_sql '' ' s index of a given version FreenetIS . This item contains an array of SQL statements that are executed sequentially . It may also contain PHP functions that run before and after the execution of SQL commands that are used for example if the data can not be transferred between different versions of directly using SQL commands. Both functions can contain arbitrary PHP commands and must return a boolean value ( boolean) .&lt;br /&gt;
&lt;br /&gt;
Example file changes:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  *&lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * http://www.gnu.org/licenses/gpl-3.0.html&lt;br /&gt;
  *&lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * http://www.freenetis.org/&lt;br /&gt;
  *&lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 /** This upgrade is equal to one in 1.0.0~beta2 developer revision */&lt;br /&gt;
 $upgrade_equal_to['1.0.0~rc1'] = '1.0.0~beta2';&lt;br /&gt;
 &lt;br /&gt;
 function upgrade_1_0_0_rc1_before()&lt;br /&gt;
 {&lt;br /&gt;
     echo &amp;quot;Some PHP code triggered before processing of all SQL commands&amp;quot;&lt;br /&gt;
     return TRUE;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 $upgrade_sql['1.0.0~rc1'] = array&lt;br /&gt;
 (&lt;br /&gt;
     &amp;quot;ALTER TABLE `ifaces` CHANGE `device_id` `device_id` INT( 11 ) NOT NULL&amp;quot;,&lt;br /&gt;
 &lt;br /&gt;
     &amp;quot;UPDATE ifaces i, wireless_ifaces wi&lt;br /&gt;
     SET wireless_mode = wmode, wireless_antenna = antenna&lt;br /&gt;
     WHERE wi.iface_id = i.id&amp;quot;,&lt;br /&gt;
 &lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 function upgrade_1_0_0_rc1_after()&lt;br /&gt;
 {&lt;br /&gt;
     echo &amp;quot;Some PHP code triggered after processing of all SQL commands&amp;quot;&lt;br /&gt;
     return TRUE;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The current state of the database ===&lt;br /&gt;
&lt;br /&gt;
State database is stored in a database table in the field ''' db_schema_version ''' , which contains the current version of the database . If the database is in an error state , foiled step is recorded in the ''' upgrade_midpoint_error ''' . This value allows you to re-perform the update from the wrong items , so the errors just correct a wrong entry and re-run FreenetIS browser .&lt;br /&gt;
&lt;br /&gt;
=== Relation between changes ===&lt;br /&gt;
&lt;br /&gt;
In the example, there is the item '''$ upgrade_equal_to [ '1 .0.0 ~ rc1 '] ''' , which is used for development purposes . '' ( When you merge changes from branch to trunk / testing the value of this field can fill development version , which contained the same set of commands ( and functions) . If the database is in a state of development versions and is offered a version that uses this field refers to the development version . Skipped this version . ''' File with changes of the referenced version after commit will be deleted ! ''' ) ''&lt;br /&gt;
&lt;br /&gt;
If any of the SQL statement generates an error, or some function returns FALSE , the implementation is completed and the error displayed to the user . When such a situation occurs and FreeneIS become inoperable, we recommend you contact the developer of backup and restore the last working version of the database (along with a reduction FreenetISu version ) .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Transition from older versions ==&lt;br /&gt;
&lt;br /&gt;
Older versions FreeneIS (development version prior to version 1.0.0 ) includes an earlier version of the mechanism ( based on SVN revision ) . If you perform a clean installation of a new database , this problem does not concern you .&lt;br /&gt;
&lt;br /&gt;
The transition between this mechanism can be accomplished using several commands svn .&lt;br /&gt;
&lt;br /&gt;
1 ) Open a terminal ( command prompt ) and navigate to the directory with the installation FreenetISu , typically :&lt;br /&gt;
&lt;br /&gt;
 $ Cd / var / www / freenetis&lt;br /&gt;
&lt;br /&gt;
2 ) Go to the latest revision to upgrade the database before the release of version 1.0.0&lt;br /&gt;
&lt;br /&gt;
 $ Svn up -r 1559&lt;br /&gt;
&lt;br /&gt;
3) Start the browser FreenetIS and if adjustments are carried out successfully go to the next step .&lt;br /&gt;
&lt;br /&gt;
4 ) Go to the latest version FreenetISu . A new mechanism has been automatically detects the version of the database (old type) and makes a transition .&lt;br /&gt;
&lt;br /&gt;
 $ Svn up&lt;br /&gt;
&lt;br /&gt;
''' The last step , however, is advised against because since the release 1.0.0 has departed from the pattern FREENETIS graduation Subversion , SO LAST STEP recommends replacing reinstalling FREENETIS of package systems (data , of course, remain the same , as well as when you choose to reinstall your original database ).'''&lt;br /&gt;
&lt;br /&gt;
== Safely change the database to version 1.0.0 ==&lt;br /&gt;
&lt;br /&gt;
Do not include to FreenetIS 1.0.0 version available safeguards for multiple start the upgrade. This problem occurs when multiple people / services FreenetIS access to the database upgrade. Follow these steps to avoid problems when upgrading the database: ('' 'This instruction applies FreenetISu to version 1.0.0, since this version (included) is automatically guarantee correct operation.''')&lt;br /&gt;
&lt;br /&gt;
1) Turn off all services accessing the FreenetISu (CRON, redirect. QoS, monitoring, ...). Eg. CRON on Debian off as follows:&lt;br /&gt;
&lt;br /&gt;
  / etc / init.d / cron stop&lt;br /&gt;
&lt;br /&gt;
2) Turn off the apache server&lt;br /&gt;
&lt;br /&gt;
  / etc/init.d/apache2 stop&lt;br /&gt;
&lt;br /&gt;
3) Perform the upgrade&lt;br /&gt;
&lt;br /&gt;
  wget http:// &amp;lt;path_to_mount_directory&amp;gt; your FreenetIS&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Restart the apache and services&lt;br /&gt;
&lt;br /&gt;
  / etc/init.d/apache2 start&lt;br /&gt;
  / etc / init.d / cron start&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B9_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80_-_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D0%B9_%D1%80%D0%BE%D0%BB%D0%B8_%D0%BA%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D1%8F&amp;diff=2158</id>
		<title>Системный администратор - установки пользовательской роли казначея</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B9_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80_-_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D0%B9_%D1%80%D0%BE%D0%BB%D0%B8_%D0%BA%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D1%8F&amp;diff=2158"/>
				<updated>2014-06-07T14:05:01Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs: SystemAdmin - nastavení Uživatelská role Pokladník en: System Admin - User role treasurer setting  == Администрация - Права доступа...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs: SystemAdmin - nastavení Uživatelská role Pokladník]]&lt;br /&gt;
[[en: System Admin - User role treasurer setting]]&lt;br /&gt;
&lt;br /&gt;
== Администрация - Права доступа - Добавить новое правило ==&lt;br /&gt;
&lt;br /&gt;
Описание, например'' Казначей может видеть / добавлять / изменять все финансовые документы''&lt;br /&gt;
&lt;br /&gt;
'''ACO:'''&lt;br /&gt;
&lt;br /&gt;
Редактировать все записи&lt;br /&gt;
&lt;br /&gt;
Редактировать собственные записи&lt;br /&gt;
&lt;br /&gt;
Добавить все записи&lt;br /&gt;
&lt;br /&gt;
Добавить свои собственные записи&lt;br /&gt;
&lt;br /&gt;
Просмотреть все записи&lt;br /&gt;
&lt;br /&gt;
Смотреть собственные записи&lt;br /&gt;
&lt;br /&gt;
'' 'ARO:'''&lt;br /&gt;
&lt;br /&gt;
казначей&lt;br /&gt;
&lt;br /&gt;
'''AXO:'''&lt;br /&gt;
&lt;br /&gt;
96    Accounts_Controller    accounts    Счета&lt;br /&gt;
&lt;br /&gt;
135    Accounts_Controller    bank_accounts    Банковские счета&lt;br /&gt;
&lt;br /&gt;
163    Accounts_Controller    bank_statements    Банковская отчетность&lt;br /&gt;
&lt;br /&gt;
134    Accounts_Controller    bank_transfers    Банковские переводы&lt;br /&gt;
&lt;br /&gt;
55    Accounts_Controller    invoices    Счета&lt;br /&gt;
&lt;br /&gt;
95    Accounts_Controller    transfers    Переводы&lt;br /&gt;
&lt;br /&gt;
136    Accounts_Controller    unidentified_transfers  Неидентифицированны переводы&lt;br /&gt;
&lt;br /&gt;
106    Members_Controller    currentcredit    Текущий кредит&lt;br /&gt;
&lt;br /&gt;
107    Members_Controller    en_fee    первоначальный взнос&lt;br /&gt;
&lt;br /&gt;
108    Members_Controller    en_fee_left    Оставшаяся входная оплата&lt;br /&gt;
== Администрирование - Управление пользовательскими группами - Добавить новую группу ==&lt;br /&gt;
&lt;br /&gt;
Назовите ее “Казначей”&lt;br /&gt;
&lt;br /&gt;
Родители: “Все члены”&lt;br /&gt;
&lt;br /&gt;
сохраните&lt;br /&gt;
&lt;br /&gt;
В пользовательских группах выберите строку Кассир, кликните “Редактировать” и выберите пользователей  которые будут казначеями, перемещая стрелку вправо и сохраняя.&lt;br /&gt;
&lt;br /&gt;
130    Settings_Controller    fees    Платежи&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Сохранить&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8%D0%B7_%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BE%D0%B4%D0%B0&amp;diff=2134</id>
		<title>Установка из исходного кода</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8%D0%B7_%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BE%D0%B4%D0%B0&amp;diff=2134"/>
				<updated>2013-12-10T13:06:02Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs:Instalace ze zdrojových kódů en: Instalation from source code  '''Это руководство предназначено для разработчиков F...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Instalace ze zdrojových kódů]]&lt;br /&gt;
[[en: Instalation from source code]]&lt;br /&gt;
&lt;br /&gt;
'''Это руководство предназначено для разработчиков FreenetIS, в целях распространения доступен [http://wiki.freenetis.org/index.php/Instalace установка системы управления].'''&lt;br /&gt;
&lt;br /&gt;
FreenetIS может работать на любом сервере (включая Windows), но рекомендуемая платформа Linux.&lt;br /&gt;
&lt;br /&gt;
= Linux =&lt;br /&gt;
&lt;br /&gt;
В этих инструкциях предполагается использование Debian. Для других дистрибутивов процедура будет аналогичной.&lt;br /&gt;
&lt;br /&gt;
== Подготовка ==&lt;br /&gt;
&lt;br /&gt;
Установка PHP, Apache, MySQL и PHPMyAdmin. Вы должны войти в систему с правами администратора.&lt;br /&gt;
   apt-get install apache2 php5 php5-mysql php5-curl mysql-server phpmyadmin&lt;br /&gt;
&lt;br /&gt;
'''Поддерживаемые версии'''&lt;br /&gt;
&lt;br /&gt;
*'''PHP''' версии 5.1.2 и выше&lt;br /&gt;
*'''MySQL''' версии 5.1.0 и выше&lt;br /&gt;
&lt;br /&gt;
=== Язык ===&lt;br /&gt;
Для правильной функции сравнения строк в PHP должен быть установлен чешский UTF-8 локали. Итак:&lt;br /&gt;
   dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Выберите:&lt;br /&gt;
&lt;br /&gt;
   en_US.UTF-8&lt;br /&gt;
   en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
и перезапустить Apache:&lt;br /&gt;
&lt;br /&gt;
   apache2ctl graceful&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Apache ===&lt;br /&gt;
&lt;br /&gt;
Для корректной работы Apache внесите изменения в конфигурационный файл для VirtualHost. Для Debian можно найти:&lt;br /&gt;
* Если у вас не была выполнена настройка то это файл &lt;br /&gt;
/ etc/apache2/sites-available/default&lt;br /&gt;
* Если у вас уже есть VirtualHost, то он, вероятно, быть сконфигурирован в других файлах в каталоге / etc/apache2/sites-available /&lt;br /&gt;
&lt;br /&gt;
В этом файле, добавьте строки:&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
       ServerAdmin webmaster@example.org&lt;br /&gt;
       ServerName freenetis.example.org&lt;br /&gt;
       DocumentRoot / Var / WWW / freenetis&lt;br /&gt;
       &amp;lt;Directory /var/www/freenetis&amp;gt;&lt;br /&gt;
               Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
               Order allow, deny&lt;br /&gt;
               позвольте от всех&lt;br /&gt;
       &amp;lt;/ Directory&amp;gt;&lt;br /&gt;
   &amp;lt;/ VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где, конечно, вместо  ServerAdmin, ServerName введите свои данные.&lt;br /&gt;
&lt;br /&gt;
Наконец, перезапустить Apache командой:&lt;br /&gt;
&lt;br /&gt;
   / Etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
== Дополнительно: Включить mod_rewrite ==&lt;br /&gt;
&lt;br /&gt;
Если он не включен, сделайте это:&lt;br /&gt;
&lt;br /&gt;
a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
В конфигурации виртуального хоста и Apache (точка пересечения), включите доступ к каталогу  FreenetIS исправив конфигурационный файл с помощью Apache. Htaccess - Directory раздел, добавить директиву &amp;quot;AllowOverride All&amp;quot;. Этот раздел  должен конечном итоге выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Directory /var/www/freenetis&amp;gt;&lt;br /&gt;
             Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
             AllowOverride All&lt;br /&gt;
             Order allow, deny&lt;br /&gt;
             allow from all&lt;br /&gt;
     &amp;lt;/ Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Наконец, перезапустить Apache командой:&lt;br /&gt;
&lt;br /&gt;
/ Etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
=== MySQL ===&lt;br /&gt;
&lt;br /&gt;
Для установки базы данных MySQL можно использовать многочисленные инструменты и процедуры. В любом случае  вам нужно будет ввести имя пользователя и пароль для сервера MySQL. После установки, есть только один пользователь - root и пустой пароль. &lt;br /&gt;
&lt;br /&gt;
   dpkg-reconfigure mysql-server-VERSION&lt;br /&gt;
&lt;br /&gt;
где VERSION номер версии сервера MySQL. В более новых версиях это обычно 5.1 для тех, кто старше 5.0.&lt;br /&gt;
&lt;br /&gt;
====Использование phpMyAdmin====&lt;br /&gt;
&lt;br /&gt;
[http://cs.wikipedia.org/wiki/PhpMyAdmin PhpMyAdmin]  этосовременный инструментарий для управления MySQL через ВЭБ-интерфейс. После инсталяции доступен:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt; http://printer_ip_address/ server / phpMyAdmin / &amp;lt;/ nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
или если у вас локальный хост:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt; http://localhost/phpmyadmin/ &amp;lt;/ nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Кликните Разрешения, затем Добавить Нового пользователя. Введите любое имя (рекомендуется freenetis). Выберите локальный компьютер (из соображений безопасности). Задайте сильный пароль, предпочтительно случайно сгенерированный (хороший пример случайного генератора паролей [http://www.converter.cz/passgen/pswdgen.php здесь]. Выберите “Создать базу данных с темже именем и дать полный доступ” и справа внизу нажмите Выполнить.&lt;br /&gt;
&lt;br /&gt;
====Использование консоли====&lt;br /&gt;
&lt;br /&gt;
Если не использовать PhpMyAdmin то можно создать базу данных вручную. Сначала необходимо залогиниться в MySQL с правами суперпользователя&lt;br /&gt;
&lt;br /&gt;
mysql-u root-p&lt;br /&gt;
&lt;br /&gt;
Затеми наберите команду&lt;br /&gt;
&lt;br /&gt;
create database freenetis;&lt;br /&gt;
  create user 'freenetis' @ 'localhost' IDENTIFIED BY 'password';&lt;br /&gt;
  grant all on freenetis. * it 'freenetis' @ 'localhost';&lt;br /&gt;
&lt;br /&gt;
==Загрузка==&lt;br /&gt;
===Загрузка с SVN===&lt;br /&gt;
&lt;br /&gt;
Если у вас не установлен SVN клиент&lt;br /&gt;
apt-get install subversion&lt;br /&gt;
&lt;br /&gt;
Теперь вы можете загрузить FreenetIS в каталог /var/www/freenetis (это наиболее стабильная версия, другие используются для разработуи и тестирования) &lt;br /&gt;
&lt;br /&gt;
cd / var / www&lt;br /&gt;
  svn checkout - username = username &amp;lt;nowiki&amp;gt; svn + ssh :/ / username@svn.code.sf.net / p / freenetis / code / freenetis / trunk freenetis &amp;lt;/ nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откройте  доступ на запись в каталог freenetis/upload и создайте каталог для логов&lt;br /&gt;
&lt;br /&gt;
cd / var / www / freenetis&lt;br /&gt;
  chmod ugo + w. upload&lt;br /&gt;
  mkdir-m 0777 logs&lt;br /&gt;
&lt;br /&gt;
FreenetIS посоянно развивается. Команда для загрузки изменений:&lt;br /&gt;
&lt;br /&gt;
cd / var / www / freenetis&lt;br /&gt;
  svn update&lt;br /&gt;
&lt;br /&gt;
(загружаются только измененные файлы)&lt;br /&gt;
&lt;br /&gt;
===Фиксирующие логи===&lt;br /&gt;
Логи основной стабильной версии &lt;br /&gt;
[http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/trunk/kohana/?view=доступны здесь].&lt;br /&gt;
&lt;br /&gt;
В  настоящее время  мы используем систему разработки паралельно несколькими ветвями (например тестирование и т.д.) и основной ветвью и обменом изменениями между ними. Поэтому количество ошибок меньше чем было раньше.&lt;br /&gt;
&lt;br /&gt;
Итоговые логи для всех ветвей здесь&lt;br /&gt;
 [http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/?view=log].&lt;br /&gt;
&lt;br /&gt;
===Инсталяция===&lt;br /&gt;
&lt;br /&gt;
Теперь если ввести в бравзере ваш адрес FreenetIS откроется стартовое окно инсталятора.&lt;br /&gt;
&lt;br /&gt;
===Конфигурация===&lt;br /&gt;
&lt;br /&gt;
Сначала инсталятор проинформирует вас, что необходимо создать файл config.php. Нажмите Следующий Шаг.&lt;br /&gt;
&lt;br /&gt;
Теперь инсталятор предложит вам ввеести данные для доступа к серверу MySQL. Введите данные, которые вы использовали при подготовке MySQL и нажмите Отправить.&lt;br /&gt;
&lt;br /&gt;
Если вы ввели правильную информацию, инсталятор проинформирует вас что конфигурация завершена. В противном случае сообщит, что не смог подключиться к базе данных и укажет вероятную причину проблемы.&lt;br /&gt;
&lt;br /&gt;
После исправления ошибки нажмите Следующий Шаг.&lt;br /&gt;
&lt;br /&gt;
====Дополнительно: Создание config.php вручную====&lt;br /&gt;
&lt;br /&gt;
Если у вас нет доступа на запись в каталог, freenetis, программа установки сгенерирует код, который необходимо скопировать и сохранить в файле config.php в каталоге freenetis. '''Пока вы этого не сделаете, установка будет прекращена!'''&lt;br /&gt;
&lt;br /&gt;
===Инсталяция===&lt;br /&gt;
&lt;br /&gt;
Теперь перед вами появится форма с информацией о вашей ассоциации. После ее заполнения  установка будет завершена.&lt;br /&gt;
&lt;br /&gt;
====Дополнительно: Создание вручную  Htaccess====&lt;br /&gt;
&lt;br /&gt;
Если вы установили флажок Read URL и у вас нет доступа на запись в каталог freenetis, программа установки cгенерирetn код, который необходимо скопировать и сохранить в файле Htaccess в каталоге freenetis. '''Если вы этого не сделаете, ваша установка может не работать должным образом!'''&lt;br /&gt;
&lt;br /&gt;
===Подключение планировщика===&lt;br /&gt;
&lt;br /&gt;
FreenetIS имеет пользовательский планировщик для которого должен быть установлен Cron:&lt;br /&gt;
&lt;br /&gt;
 #FreenetIS scheduler&lt;br /&gt;
 * *     * * *   root    wget -O /dev/null  http://&amp;lt;hostname&amp;gt;/cs/scheduler/run&lt;br /&gt;
&lt;br /&gt;
Если вы используете SSL с несанкционированным или недействительным сертификатом, используйте:&lt;br /&gt;
&lt;br /&gt;
#FreenetIS scheduler&lt;br /&gt;
 * *     * * *   root    wget -O /dev/null  https://&amp;lt;hostname&amp;gt;/cs/scheduler/run --no-check-certificate&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalation_from_source_code&amp;diff=2133</id>
		<title>Instalation from source code</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalation_from_source_code&amp;diff=2133"/>
				<updated>2013-12-10T13:05:33Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Instalace ze zdrojových kódů]]&lt;br /&gt;
[[ru:Установка из исходного кода]]&lt;br /&gt;
'''This manual is intended for FreenetIS developers,  for distribution purposes is available [http://wiki.freenetis.org/index.php/Instalace installation of the packaging system].'''&lt;br /&gt;
&lt;br /&gt;
FreenetIS can run on any server (including Windows), but the recommended platform is Linux.&lt;br /&gt;
&lt;br /&gt;
= Linux =&lt;br /&gt;
&lt;br /&gt;
These instructions assume the use of the Debian distribution. For other distributions the procedure will be similar.&lt;br /&gt;
&lt;br /&gt;
== Preparation==&lt;br /&gt;
&lt;br /&gt;
Installing PHP, Apache, MySQL and phpMyAdmin. You need to be logged in as root.&lt;br /&gt;
  apt-get install apache2 php5 php5-mysql php5-curl mysql-server phpmyadmin&lt;br /&gt;
&lt;br /&gt;
'''Supported versions of the'''&lt;br /&gt;
&lt;br /&gt;
*'''PHP''' version 5.1.2 and higher&lt;br /&gt;
*'''MySQL''' version 5.1.0 and higher&lt;br /&gt;
&lt;br /&gt;
=== Locale ===&lt;br /&gt;
For proper comparison function Czech strings in PHP must be installed Czech UTF-8 locale. so:&lt;br /&gt;
  dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Select:&lt;br /&gt;
&lt;br /&gt;
  en_US.UTF-8&lt;br /&gt;
  en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
and restart apache:&lt;br /&gt;
&lt;br /&gt;
  apache2ctl graceful&lt;br /&gt;
&lt;br /&gt;
=== Apache ===&lt;br /&gt;
&lt;br /&gt;
For proper running Apache edit configuration file for virtualhost. For Debian it can be found at the following:&lt;br /&gt;
* If you have any virtualhost not been setup yet, this is the file / etc/apache2/sites-available/default&lt;br /&gt;
* If you already have a virtualhost, it will probably be configured in some other files in the / etc/apache2/sites-available /&lt;br /&gt;
&lt;br /&gt;
In this file, add the following lines:&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
      ServerAdmin webmaster@example.org&lt;br /&gt;
      ServerName freenetis.example.org&lt;br /&gt;
      DocumentRoot / var / www / freenetis&lt;br /&gt;
      &amp;lt;Directory /var/www/freenetis&amp;gt;&lt;br /&gt;
              Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
              Order allow, deny&lt;br /&gt;
              allow from all&lt;br /&gt;
      &amp;lt;/ Directory&amp;gt;&lt;br /&gt;
  &amp;lt;/ VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where, of course, place ServerAdmin and ServerName enter your data.&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache command:&lt;br /&gt;
&lt;br /&gt;
  / etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
== Optional: Enable mod_rewrite ==&lt;br /&gt;
&lt;br /&gt;
If it is not enabled, enable it:&lt;br /&gt;
&lt;br /&gt;
  a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
In the virtualhost configuration and Apache (the crossing point), enable the directory FreenetIS possibility of readjusting the configuration file using Apache. Htaccess - Directory section to add the directive &amp;quot;AllowOverride All&amp;quot;. This section Directory should then end up looking like this:&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;Directory /var/www/freenetis&amp;gt;&lt;br /&gt;
             Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
             AllowOverride All&lt;br /&gt;
             Order allow, deny&lt;br /&gt;
             allow from all&lt;br /&gt;
     &amp;lt;/ Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache command:&lt;br /&gt;
&lt;br /&gt;
  / etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
=== MySQL ===&lt;br /&gt;
&lt;br /&gt;
To set MySQL database can be used numerous tools and procedures. For each of them, but you will need a user name and password for your MySQL server. After installation, there is only one user - root and the password is blank. If you forget it, you change it using&lt;br /&gt;
&lt;br /&gt;
  dpkg-reconfigure mysql-server-VERSION&lt;br /&gt;
&lt;br /&gt;
where version is the version number of the MySQL server. In newer versions it is usually 5.1 for those older then 5.0.&lt;br /&gt;
&lt;br /&gt;
====Using phpMyAdmin====&lt;br /&gt;
&lt;br /&gt;
[http://cs.wikipedia.org/wiki/PhpMyAdmin PhpMyAdmin] is an advanced tool to manage MySQL database via a web interface. After installation is available at&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt; http://printer_ip_address/ server / phpMyAdmin / &amp;lt;/ nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or if you are working on localhost as well as on&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt; http://localhost/phpmyadmin/ &amp;lt;/ nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click Permissions, and then click Add New User. Username Enter any (recommended freenetis). Select the local computer (important for safety). Set a strong password, preferably randomly generated (a good example is the generator [http://www.converter.cz/passgen/pswdgen.php here]. Choose &amp;quot;Create a database of the same name and grant all privileges&amp;quot; and the bottom right click on Execute .&lt;br /&gt;
&lt;br /&gt;
====Using the console====&lt;br /&gt;
&lt;br /&gt;
You can create the database manually. You must first log in to the database, you are prompted for a password database superuser.&lt;br /&gt;
&lt;br /&gt;
  mysql-u root-p&lt;br /&gt;
&lt;br /&gt;
After logging in mysql console then type the following commands:&lt;br /&gt;
&lt;br /&gt;
  create database freenetis;&lt;br /&gt;
  create user 'freenetis' @ 'localhost' IDENTIFIED BY 'password';&lt;br /&gt;
  grant all on freenetis. * it 'freenetis' @ 'localhost';&lt;br /&gt;
&lt;br /&gt;
==download==&lt;br /&gt;
===Download from SVN===&lt;br /&gt;
&lt;br /&gt;
If you do not have a SVN client, then&lt;br /&gt;
  apt-get install subversion&lt;br /&gt;
&lt;br /&gt;
Now you can download FreenetIS to the directory / var / www / freenetis (the trunk is the most stable version, another SVN is used for development and testing)&lt;br /&gt;
&lt;br /&gt;
  cd / var / www&lt;br /&gt;
  svn checkout - username = username &amp;lt;nowiki&amp;gt; svn + ssh :/ / username@svn.code.sf.net / p / freenetis / code / freenetis / trunk freenetis &amp;lt;/ nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable write to the folder freenetis, freenetis / upload and create a folder for logging freenetis / logs:&lt;br /&gt;
&lt;br /&gt;
  cd / var / www / freenetis&lt;br /&gt;
  chmod ugo + w. upload&lt;br /&gt;
  mkdir-m 0777 logs&lt;br /&gt;
&lt;br /&gt;
FreenetIS is constantly evolving, you download the update command:&lt;br /&gt;
&lt;br /&gt;
  cd / var / www / freenetis&lt;br /&gt;
  svn update&lt;br /&gt;
&lt;br /&gt;
(which downloads only modified files)&lt;br /&gt;
&lt;br /&gt;
===Commit log===&lt;br /&gt;
&lt;br /&gt;
Log fixes stable version (trunk) is [http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/trunk/kohana/?view=log available here].&lt;br /&gt;
&lt;br /&gt;
Currently, we use a system development through various branches (eg, testing, etc.) and the main branch (trunk) send a functioning changes, so the number of errors is lower than in the situation of only one development branch, as it was before.&lt;br /&gt;
&lt;br /&gt;
Summary [http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/?view=log log commit to all branches here].&lt;br /&gt;
&lt;br /&gt;
==installation==&lt;br /&gt;
&lt;br /&gt;
Now would be selected by entering your address into the browser FreenetIS installer should appear welcoming.&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
In the first part of the installer informs you that you need to create a configuration file config.php. Click Next Step.&lt;br /&gt;
&lt;br /&gt;
Now the installer prompts you to enter information to access the MySQL server. Use the information that you have used in the preparation of MySQL and click Send.&lt;br /&gt;
&lt;br /&gt;
If you entered the correct information, the installer informs you that the configuration has been completed. Otherwise notifies you that failed to connect to the database with suggestions for possible problems.&lt;br /&gt;
&lt;br /&gt;
When you manage to correct these errors, click Next Step.&lt;br /&gt;
&lt;br /&gt;
====Optional: Manually create config.php====&lt;br /&gt;
&lt;br /&gt;
If you do not have write access to the directory freenetis, the installer will generate code to copy and save it as config.php in the directory freenetis. '''Until you do so, the installation will be discontinued!'''&lt;br /&gt;
&lt;br /&gt;
===The installation===&lt;br /&gt;
&lt;br /&gt;
Now before you would be appearing the installation form with information about your association. After completing the installation should be done.&lt;br /&gt;
&lt;br /&gt;
==== Optional: Manually create. Htaccess ====&lt;br /&gt;
&lt;br /&gt;
If you have checked the Read URL and you do not have write access to the directory freenetis, the installer will generate code to copy and save it as a. Htaccess file in the directory freenetis. '''If you do not, your installation may not work properly!'''&lt;br /&gt;
&lt;br /&gt;
===Launching of &amp;quot;planning&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
FreenetIS has a custom scheduler that is needed zpouštět regularly from cron. Do cron add this line:&lt;br /&gt;
&lt;br /&gt;
  # FreenetIS scheduler&lt;br /&gt;
  ***** Root wget-O / dev / null http:// &amp;lt;hostname&amp;gt; / en / scheduler / run&lt;br /&gt;
&lt;br /&gt;
If you are using SSL with unauthorized or invalid certificates, use:&lt;br /&gt;
&lt;br /&gt;
  # FreenetIS scheduler&lt;br /&gt;
  ***** Root wget-O / dev / null https:// &amp;lt;hostname&amp;gt; / en / scheduler / run - no-check-certificate&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_ze_zdrojov%C3%BDch_k%C3%B3d%C5%AF&amp;diff=2132</id>
		<title>Instalace ze zdrojových kódů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_ze_zdrojov%C3%BDch_k%C3%B3d%C5%AF&amp;diff=2132"/>
				<updated>2013-12-10T13:04:41Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Instalation from source code]]&lt;br /&gt;
[[ru:Установка из исходного кода]]&lt;br /&gt;
&lt;br /&gt;
'''Tento návod je určen pro vývojáře FreenetISu, pro distribuční účely je k dispozici [http://wiki.freenetis.org/index.php/Instalace instalace z balíčkovacích sytémů].'''&lt;br /&gt;
&lt;br /&gt;
FreenetIS můžete provozovat na jakémkoli serveru (včetně Windows), ale doporučená platforma je Linux.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
&lt;br /&gt;
Tento návod předpokládá použití distribuce Debian. U jiných distribucí bude postup podobný.&lt;br /&gt;
&lt;br /&gt;
==Příprava==&lt;br /&gt;
&lt;br /&gt;
Instalace PHP, Apache, MySQL a phpMyAdmina. Je potřeba být přihlášen jako root.&lt;br /&gt;
 apt-get install apache2 php5 php5-mysql php5-curl mysql-server phpmyadmin&lt;br /&gt;
&lt;br /&gt;
'''Podporované verze nástrojů'''&lt;br /&gt;
&lt;br /&gt;
* '''PHP''' verze 5.1.2 a vyšší&lt;br /&gt;
* '''MySQL''' verze 5.1.0 a vyšší&lt;br /&gt;
&lt;br /&gt;
===Locale===&lt;br /&gt;
Pro správnou funkci porovnání českých řetězců v PHP musíte mít nainstalované české UTF-8 locale. Takže:&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Vybrat:&lt;br /&gt;
&lt;br /&gt;
 cs_CZ.UTF-8&lt;br /&gt;
 en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
a restartovat apache:&lt;br /&gt;
&lt;br /&gt;
 apache2ctl graceful&lt;br /&gt;
&lt;br /&gt;
===Apache===&lt;br /&gt;
&lt;br /&gt;
Pro správný běh Apache upravte soubor s konfigurací virtualhost-a, který na Debianu najdete takto:&lt;br /&gt;
*pokud jste žádný virtualhost zatím nenastavovali, jedná se o soubor /etc/apache2/sites-available/default&lt;br /&gt;
*pokud už nějaký virtualhost máte, pak bude nejspíš nakonfigurovaný v některém dalších souboru v adresáři /etc/apache2/sites-available/&lt;br /&gt;
&lt;br /&gt;
Do tohoto souboru přidejte následující řádky:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
         ServerAdmin webmaster@example.org&lt;br /&gt;
         ServerName  freenetis.example.org&lt;br /&gt;
         DocumentRoot /var/www/freenetis&lt;br /&gt;
         &amp;lt;Directory /var/www/freenetis&amp;gt;&lt;br /&gt;
                 Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
                 Order allow,deny&lt;br /&gt;
                 allow from all&lt;br /&gt;
         &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kde samozřejmě místo ServerAdmin a ServerName zadejte vaše údaje.&lt;br /&gt;
&lt;br /&gt;
Nakonec restartujte Apache příkazem:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
====Volitelné: Povolení mod_rewrite====&lt;br /&gt;
&lt;br /&gt;
Pokud jej nemáte povolený, tak jej povolte:&lt;br /&gt;
&lt;br /&gt;
 a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
V konfiguraci virtualhost-a Apache (z přecházející bodu), povolte pro adresář FreenetIS možnost přenastavování konfigurace Apache pomocí souboru .htaccess - do sekce Directory přidejte direktivu &amp;quot;AllowOverride All&amp;quot;. Tato sekce Directory by pak měl nakonec vypadat asi takto:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;Directory /var/www/freenetis&amp;gt;&lt;br /&gt;
                Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Order allow,deny&lt;br /&gt;
                allow from all&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nakonec restartujte Apache příkazem:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
&lt;br /&gt;
Pro nastavení MySQL databáze je možné použít nespočet nástrojů a postupů. Pro každý z nich ale budete potřebovat uživatelské jméno a heslo pro přihlášení k vašemu MySQL serveru. Po instalaci existuje pouze jediný uživatel - root a jeho heslo je prázdné. Pokud jej zapomenete, změníte ho pomocí&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure mysql-server-VERZE&lt;br /&gt;
&lt;br /&gt;
kde VERZE označuje číslo verze MySQL serveru. U novějších verzích je to obvykle 5.1, u těch starších pak 5.0.&lt;br /&gt;
&lt;br /&gt;
====Pomocí phpMyAdmin====&lt;br /&gt;
&lt;br /&gt;
[http://cs.wikipedia.org/wiki/PhpMyAdmin PhpMyAdmin] je pokročilý nástroj pro správu MySQL databázi přes webové rozhraní. Po instalaci je dostupný na&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://IP adresa serveru/phpmyadmin/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nebo pokud pracujete na localhostu, tak i na&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://localhost/phpmyadmin/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kliknětě na Oprávnění a pak na Přidat nového uživatele. Jméno uživatele zadejte libovolné (doporučeno freenetis). Počítač vyberte lokální (důležité z hlediska bezpečnosti). Heslo nastavte silné, pokud možno náhodně vygenerované (dobrý generátor je např [http://www.converter.cz/passgen/pswdgen.php zde]. Vyberte volbu &amp;quot;Vytvořit databázi stejného jména a přidělit všechna oprávnění&amp;quot; a vpravo dole klikněte na Proveď.&lt;br /&gt;
&lt;br /&gt;
==== Pomocí konzole====&lt;br /&gt;
&lt;br /&gt;
Phpmyadmin nemusíte využít, pak lze databázi vytvořit ručně. Nejprve je nutné se přihlásit do databáze, budete vyzváni na heslo databázového superuživatele.&lt;br /&gt;
&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
&lt;br /&gt;
Po přihlášení v konzoli mysql pak napište tyto příkazy:&lt;br /&gt;
&lt;br /&gt;
 create database freenetis;&lt;br /&gt;
 create user 'freenetis'@'localhost' identified by 'heslo';&lt;br /&gt;
 grant all on freenetis.* to 'freenetis'@'localhost';&lt;br /&gt;
&lt;br /&gt;
==Stažení==&lt;br /&gt;
===Stažení z SVN===&lt;br /&gt;
&lt;br /&gt;
Pokud nemáte SVN klienta, pak&lt;br /&gt;
 apt-get install subversion&lt;br /&gt;
&lt;br /&gt;
teď si můžete FreenetIS stáhnout do adresáře /var/www/freenetis (v trunku je nejstabilnější verze, další SVN větve slouží pro vývoj a testování)&lt;br /&gt;
&lt;br /&gt;
 cd /var/www&lt;br /&gt;
 svn checkout &amp;lt;nowiki&amp;gt;svn+ssh://svn.code.sf.net/p/freenetis/code/freenetis/trunk freenetis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Povolte zápis do složek freenetis, freenetis/upload a vytvořte složku pro logování freenetis/logs:&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/freenetis&lt;br /&gt;
 chmod ugo+w . upload&lt;br /&gt;
 mkdir -m 0777 logs&lt;br /&gt;
&lt;br /&gt;
FreenetIS se neustále vyvíjí, aktualizace si stáhnete příkazem:&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/freenetis&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
(což stáhne pouze modifikované soubory)&lt;br /&gt;
&lt;br /&gt;
===Commit log===&lt;br /&gt;
&lt;br /&gt;
Log oprav stable verze (trunk) je [http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/trunk/kohana/?view=log dostupný zde]. &lt;br /&gt;
&lt;br /&gt;
V současné době již používáme systém vývoje pomocí různých větvích (např. testing a další) a do hlavní větve (trunk) posíláme jen fungující změny, takže počet chyb je nižší než v situaci pouze jedné vývojové větve, jako tomu bylo dříve.&lt;br /&gt;
&lt;br /&gt;
Souhrnný [http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/?view=log log commitů do všech větví je zde].&lt;br /&gt;
&lt;br /&gt;
==Instalace==&lt;br /&gt;
&lt;br /&gt;
Nyní by se po zadání vámi zvolené adresy FreenetISu do prohlížeče měl objevit instalátor s uvítáním.&lt;br /&gt;
&lt;br /&gt;
===Nastavení konfigurace===&lt;br /&gt;
&lt;br /&gt;
V první části vás instalátor informuje, že je potřeba vytvořit soubor konfigurační soubor config.php. Klikněte na tlačítko Další krok.&lt;br /&gt;
&lt;br /&gt;
Nyní vás instalátor vyzve na zadání údajů pro přístup k MySQL serveru. Použijte údaje, které jste použili u přípravy MySQL a klikněte na Odeslat.&lt;br /&gt;
&lt;br /&gt;
Pokud jste zadali správné údaje, instalátor vás informuje, že nastavení konfigurace bylo dokončeno. Jinak vás upozorní, že se nepodařilo připojit k databázi s návrhy možných problémů.&lt;br /&gt;
&lt;br /&gt;
Až se vám podaří tyto chyby opravit, klikněte na tlačítko Další krok.&lt;br /&gt;
&lt;br /&gt;
====Volitelné: Ruční vytvoření config.php====&lt;br /&gt;
&lt;br /&gt;
Pokud nemáte práva zápisu do adresáře freenetis, instalátor vám vygeneruje kód, který zkopírujte a uložte jako config.php do adresáře freenetis. '''Dokud tak neučiníte, v instalaci nebude možno pokračovat!'''&lt;br /&gt;
&lt;br /&gt;
===Samotná instalace===&lt;br /&gt;
&lt;br /&gt;
Nyní by se před vámi měla objevit samotná instalace s formulářem s informacemi o vašem sdružení. Po jeho vyplnění by měla být instalace hotova.&lt;br /&gt;
&lt;br /&gt;
====Volitelné: Ruční vytvoření .htaccess====&lt;br /&gt;
&lt;br /&gt;
Pokud jste zatrhli možnost Čistá URL a nemáte práva zápisu do adresáře freenetis, instalátor vám vygeneruje kód, který zkopírujte a uložte jako .htaccess do adresáře freenetis. '''Pokud tak neučiníte, vaše instalace nemusí fungovat korektně!'''&lt;br /&gt;
&lt;br /&gt;
===Zprovoznění &amp;quot;plánovače&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
FreenetIS má v sobě vlastní scheduler který je potřeba pravidelně zpouštět z cronu. Do cronu přidejte tento řádek:&lt;br /&gt;
&lt;br /&gt;
 #FreenetIS scheduler&lt;br /&gt;
 * *     * * *   root    wget -O /dev/null  http://&amp;lt;hostname&amp;gt;/cs/scheduler/run&lt;br /&gt;
&lt;br /&gt;
Pokud používáte SSL s neověřeným nebo s neplatným certifikátem použijte:&lt;br /&gt;
&lt;br /&gt;
 #FreenetIS scheduler&lt;br /&gt;
 * *     * * *   root    wget -O /dev/null  https://&amp;lt;hostname&amp;gt;/cs/scheduler/run --no-check-certificate&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Access_rights&amp;diff=2131</id>
		<title>Access rights</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Access_rights&amp;diff=2131"/>
				<updated>2013-12-10T13:02:55Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Přístupová práva]]&lt;br /&gt;
[[ru: Права доступа]]&lt;br /&gt;
&lt;br /&gt;
==Description implementation Rights Management FreenetIS==&lt;br /&gt;
&lt;br /&gt;
The current access rights for FreenetIS based on PHP GACL. Knihodna itself has been removed, but the system tables was maintained.&lt;br /&gt;
&lt;br /&gt;
==Description SQL tables library PhpGacl ==&lt;br /&gt;
&lt;br /&gt;
In PhpGacl everything is built on objects ACO, ARO and AXO.&lt;br /&gt;
&lt;br /&gt;
'' 'ACO''' - facilities operations&lt;br /&gt;
&lt;br /&gt;
'' 'ARO''' - objects (or groups of objects) that want individual operations (ACO) to perform&lt;br /&gt;
&lt;br /&gt;
'' 'AXO''' - objects (or groups of objects), over which the individual ARO want an operation (ACO)&lt;br /&gt;
&lt;br /&gt;
===acl===&lt;br /&gt;
Table defining individual access rules.&lt;br /&gt;
&lt;br /&gt;
It contains columns id, section_value, allow, enabled, return_value, note, updated_date.&lt;br /&gt;
&lt;br /&gt;
'''id''' - identifier, important to connect with ACO, ARO and AXO&lt;br /&gt;
&lt;br /&gt;
'''section_value''' - the name of the section where the rule is&lt;br /&gt;
&lt;br /&gt;
'''allow''' - 1 =&amp;gt; rule permits the operation, 0 =&amp;gt; rule prohibits operation&lt;br /&gt;
&lt;br /&gt;
'''enabled''' - 1 =&amp;gt; rule is enabled, 0 =&amp;gt; rule is disabled&lt;br /&gt;
&lt;br /&gt;
'''return_value''' - I do not know yet&lt;br /&gt;
&lt;br /&gt;
'''Note''' - a comment describing the rule (eg Administrators can do everything)&lt;br /&gt;
&lt;br /&gt;
'' 'updated_date''' - timestamp of the last update rules&lt;br /&gt;
&lt;br /&gt;
===acl_sections===&lt;br /&gt;
Table defining individual sections of the rules.&lt;br /&gt;
&lt;br /&gt;
Default in PhpGacl are two sections - System and User. In FreenetIS uses only User.&lt;br /&gt;
&lt;br /&gt;
It contains columns id, value, order_value, name and hidden.&lt;br /&gt;
&lt;br /&gt;
'''id''' - identifier, more or less useless because the rules are assigned to sections with values ​​(value)&lt;br /&gt;
&lt;br /&gt;
'''value''' - a short name without spaces, used to assign individual ACLs into sections&lt;br /&gt;
&lt;br /&gt;
'''order_value''' - I do not know yet&lt;br /&gt;
&lt;br /&gt;
'''name''' - long title, description&lt;br /&gt;
&lt;br /&gt;
'''hidden''' - 0 =&amp;gt; section is visible, 1 =&amp;gt; is hidden&lt;br /&gt;
&lt;br /&gt;
===acl_seq===&lt;br /&gt;
Table whose sole purpose is to memorize currently the last id of table  acl.&lt;br /&gt;
&lt;br /&gt;
PhpGacl (God knows why) does not use the tables auto increment.&lt;br /&gt;
&lt;br /&gt;
Contains a column id.&lt;br /&gt;
&lt;br /&gt;
'' 'id''' - latest id in table acl&lt;br /&gt;
&lt;br /&gt;
===aco===&lt;br /&gt;
Table defining individual objects ACO. In FreenetIS are either ACO for rendering menu (sections menu) and ACO for general operations (section freenetis) - view_all, view_own, edit_all, edit_own, delete_all, delete_own, new_all, new_own, confirm_all, confirm_own ... used'' 'only''' with AXO objects.&lt;br /&gt;
&lt;br /&gt;
It contains columns id, section_value, value, order_value, name and hidden.&lt;br /&gt;
&lt;br /&gt;
'''id''' - identifier unimportant (for connection to the ACL table is used aco_map value)&lt;br /&gt;
&lt;br /&gt;
'''section_value''' - section name defined in aco_sections&lt;br /&gt;
&lt;br /&gt;
'''value''' - a short name without spaces, used for the assignment of the ACO into sections and to connect with each ACL rule in aco_map&lt;br /&gt;
&lt;br /&gt;
'''order_value''' - I do not know yet&lt;br /&gt;
&lt;br /&gt;
'''name''' - long title, description&lt;br /&gt;
&lt;br /&gt;
'''hidden''' - 0 =&amp;gt; section is visible, 1 =&amp;gt; is hidden&lt;br /&gt;
&lt;br /&gt;
===aco_map===&lt;br /&gt;
&lt;br /&gt;
Connects ACO objects with different ACL rules. ACO as one (of the three ACO, ARO and AXO) is unable to clustering in groups, because there is no other table aco_groups_map.&lt;br /&gt;
&lt;br /&gt;
Contains columns acl_id, section_value and value.&lt;br /&gt;
&lt;br /&gt;
'' 'acl_id''' -&lt;br /&gt;
 &lt;br /&gt;
'' 'section_value''' -&lt;br /&gt;
&lt;br /&gt;
'' 'value''' -&lt;br /&gt;
&lt;br /&gt;
===aco_sections===&lt;br /&gt;
&lt;br /&gt;
Section for each ACO , FreenetIS uses only two : menu - for ACO objects on the plot menu , and then freenetis - to define the general ACO operations (view, edit , delete and confirmation ) .&lt;br /&gt;
&lt;br /&gt;
It contains columns id , value , order_value , name and hidden .&lt;br /&gt;
&lt;br /&gt;
''' id ''' - identifier section (not needed for anything )&lt;br /&gt;
&lt;br /&gt;
'''value ''' - the name of the section (in our menu and freenetis )&lt;br /&gt;
&lt;br /&gt;
''' order_value ''' - I do not know yet&lt;br /&gt;
&lt;br /&gt;
'''name ''' - description section&lt;br /&gt;
&lt;br /&gt;
'''hidden ''' - 0 =&amp;gt; section is visible , 1 = &amp;gt; is hidden&lt;br /&gt;
&lt;br /&gt;
===aro_groups_map===&lt;br /&gt;
&lt;br /&gt;
assigned to individual user groups ACL rules .&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
Create a rule &amp;quot;Candidates for membership and regular members can do XYZ&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
This rule will be in the &amp;quot; acl &amp;quot; represented a new row with id = 27 , in which the stored value &amp;quot;allow &amp;quot; ;&lt;br /&gt;
&lt;br /&gt;
If &amp;quot; full members &amp;quot; have id = 22 and those interested in membership id = 23 , then the table aro_groups_map when you create this rule there will be two new lines:&lt;br /&gt;
&lt;br /&gt;
acl_id | group_id&lt;br /&gt;
-----------------&lt;br /&gt;
27 | 22&lt;br /&gt;
&lt;br /&gt;
27 | 23&lt;br /&gt;
&lt;br /&gt;
===axo_groups_map===&lt;br /&gt;
&lt;br /&gt;
Similar to aro_groups_map , but AXO&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%B0_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0&amp;diff=2130</id>
		<title>Права доступа</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%B0_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0&amp;diff=2130"/>
				<updated>2013-12-10T13:02:00Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs:Přístupová práva en: Access rights  ==Описание реализации управления правами FreenetIS==  Текущие права дос...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Přístupová práva]]&lt;br /&gt;
[[en: Access rights]]&lt;br /&gt;
&lt;br /&gt;
==Описание реализации управления правами FreenetIS==&lt;br /&gt;
&lt;br /&gt;
Текущие права доступа для FreenetIS основаны на PHP GACL. Knihodna сама была удалена, но системные таблицы поддерживаются.&lt;br /&gt;
&lt;br /&gt;
==Описание SQL таблиц библиотеки Phpgacl==&lt;br /&gt;
&lt;br /&gt;
В PhpGacl все построено на объектах ACO, ARO и АХО.&lt;br /&gt;
&lt;br /&gt;
'' 'ACO''' - операции объектов&lt;br /&gt;
&lt;br /&gt;
'' 'ARO''' - объекты (или группы объектов), которые выполняют индивидуальные операции (АСО)&lt;br /&gt;
&lt;br /&gt;
'''АХО''' - объекты (или группы объектов), над которыми индивидуальные ARO выполняют операции (ACO)&lt;br /&gt;
&lt;br /&gt;
===acl===&lt;br /&gt;
Таблица определения индивидуальных правил доступа.&lt;br /&gt;
&lt;br /&gt;
Она содержит столбцы id, section_value, allow, enabled, return_value, note, updated_date.&lt;br /&gt;
&lt;br /&gt;
'''ID''' - идентификатор, важен для соединения с ACO, ARO и ОВБ&lt;br /&gt;
&lt;br /&gt;
'''section_value''' - имя секции, где правила&lt;br /&gt;
&lt;br /&gt;
'''allow''' - 1 =&amp;gt; Правило разрешает операции, 0 =&amp;gt; Правило запрещает операции&lt;br /&gt;
&lt;br /&gt;
'''Enabled''' - 1 =&amp;gt; правило включено, 0 =&amp;gt; правило отключено&lt;br /&gt;
&lt;br /&gt;
'''return_value''' - Я еще не знаю&lt;br /&gt;
&lt;br /&gt;
'''Note''' - комментарии к правилу (например Администраторы могут делать все)&lt;br /&gt;
&lt;br /&gt;
'''Updated_date''' - дата последнего обновления правил&lt;br /&gt;
&lt;br /&gt;
===acl_sections===&lt;br /&gt;
Таблица определения отдельных разделов Правил.&lt;br /&gt;
&lt;br /&gt;
По умолчанию в PhpGacl две секции - System и User. FreenetIS использует только User.&lt;br /&gt;
&lt;br /&gt;
Он содержит столбцы id, value, order_value, name and hidden&lt;br /&gt;
&lt;br /&gt;
'''id''' - идентификатор, более или менее бесполезный, потому что правила относятся к разделам со значениями (значение)&lt;br /&gt;
&lt;br /&gt;
'''значение''' - короткое имя без пробелов, используется для назначения отдельных списков управления доступом на разделы&lt;br /&gt;
&lt;br /&gt;
'''order_value''' - Я еще не знаю&lt;br /&gt;
&lt;br /&gt;
'''Название''' - длинные названия, описания&lt;br /&gt;
&lt;br /&gt;
'''скрытые''' - 0 =&amp;gt; Раздел виден, 1 =&amp;gt; скрыт&lt;br /&gt;
&lt;br /&gt;
===acl_seq===&lt;br /&gt;
Таблица единственной целью котороq является в настоящее время хранение последнего ID таблицы  ACL.&lt;br /&gt;
&lt;br /&gt;
PhpGacl (Бог знает почему) не использует  автоприращение в таблицах.&lt;br /&gt;
&lt;br /&gt;
Содержит столбец ID.&lt;br /&gt;
&lt;br /&gt;
'' 'ID''' - последняя ID в таблице ACL&lt;br /&gt;
&lt;br /&gt;
===асо===&lt;br /&gt;
Таблица определения отдельных объектов ACO. В FreenetIS имеется ACO либо для оказания меню (разделы меню), либо ACO для общих операций (раздел freenetis) - view_all, view_own, edit_all, edit_own, delete_all, delete_own, new_all, new_own, confirm_all, confirm_own ... использованы в'' 'только''' с объектами АХО.&lt;br /&gt;
&lt;br /&gt;
Она содержит столбцы id, section_value, value, order_value, name and hidden.&lt;br /&gt;
&lt;br /&gt;
'''id''' - несущественный идентификатор (для подключения к таблице ACL используется aco_map значение)&lt;br /&gt;
&lt;br /&gt;
'''section_value''' - название раздела определенного в aco_sections&lt;br /&gt;
&lt;br /&gt;
'''value''' - короткое имя без пробелов, используемое для назначения ACO на разделы и подключения к каждому правилу ACL в aco_map&lt;br /&gt;
&lt;br /&gt;
'''order_value''' - Я еще не знаю&lt;br /&gt;
&lt;br /&gt;
'''name''' - длинные названия, описания&lt;br /&gt;
&lt;br /&gt;
'''hidden''' - 0 =&amp;gt; Раздел виден, 1 =&amp;gt; скрыт&lt;br /&gt;
&lt;br /&gt;
===aco_map===&lt;br /&gt;
&lt;br /&gt;
Соединяет ACO объекты с различными правилами ACL. ACO это один (из трех ACO, ARO и АХО) не в состоянии кластеризироваться в группах, потому что нет никакой другой таблицы  aco_groups_map.&lt;br /&gt;
&lt;br /&gt;
Содержит столбцы acl_id, section_value a value.&lt;br /&gt;
&lt;br /&gt;
'' 'Acl_id''' -&lt;br /&gt;
 &lt;br /&gt;
'' 'Section_value''' -&lt;br /&gt;
&lt;br /&gt;
'''value''' -&lt;br /&gt;
&lt;br /&gt;
===aco_sections===&lt;br /&gt;
&lt;br /&gt;
Раздел для каждого ACO , FreenetIS использует только два : Меню - для объектов ACO на участке меню, а затем freenetis - определение общих операции ACO ( просмотр, редактирование , удаление и подтверждение) .&lt;br /&gt;
&lt;br /&gt;
Он содержит столбцы  id , value , order_value , name and hidden .&lt;br /&gt;
&lt;br /&gt;
''' id ''' - идентификатор раздела ( не используется)&lt;br /&gt;
&lt;br /&gt;
''' value ''' -имя раздела (в нашем меню и freenetis )&lt;br /&gt;
&lt;br /&gt;
''' Order_value ''' - Я еще не знаю&lt;br /&gt;
&lt;br /&gt;
''' name ''' - описание раздела&lt;br /&gt;
&lt;br /&gt;
''' hidden ''' - 0 = &amp;gt; Раздел виден , 1 =&amp;gt; скрыт&lt;br /&gt;
&lt;br /&gt;
===aro_groups_map===&lt;br /&gt;
&lt;br /&gt;
присваивает отдельным группам пользователей ACL правила.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
Создать правило &amp;quot; кандидаты в члены и постоянные члены могут сделать XYZ&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Это правило будет в &amp;quot; ACL &amp;quot; представлено ​​новой строкой с ID = 27 , в котором хранится значение &amp;quot;Разрешить&amp;quot; ;&lt;br /&gt;
&lt;br /&gt;
Если у &amp;quot; полноправных членов &amp;quot;  ID = 22 и тех, кто заинтересован в членстве ID = 23 , то в таблице aro_groups_map при создании этого правила будет две новые записи :&lt;br /&gt;
&lt;br /&gt;
acl_id | group_id&lt;br /&gt;
-----------------&lt;br /&gt;
27 | 22&lt;br /&gt;
&lt;br /&gt;
27 | 23&lt;br /&gt;
&lt;br /&gt;
===axo_groups_map===&lt;br /&gt;
&lt;br /&gt;
Подобно aro_groups_map , но АХО&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=P%C5%99%C3%ADstupov%C3%A1_pr%C3%A1va&amp;diff=2129</id>
		<title>Přístupová práva</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=P%C5%99%C3%ADstupov%C3%A1_pr%C3%A1va&amp;diff=2129"/>
				<updated>2013-12-10T13:00:59Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Access rights]]&lt;br /&gt;
[[ru: Права доступа]]&lt;br /&gt;
&lt;br /&gt;
==Popis implementace správy přístupových práv ve FreenetISu==&lt;br /&gt;
&lt;br /&gt;
Aktuální přístupová práva pro FreenetIS jsou založena na PHP GACL. Samotná knihodna byla odstraněna, ale její sytém tabulek byl zachován.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Popis SQL tabulek knihovny PhpGacl==&lt;br /&gt;
&lt;br /&gt;
V PhpGaclu je všechno postavené na objektech ACO, ARO a AXO.&lt;br /&gt;
&lt;br /&gt;
'''ACO''' - objekty operací&lt;br /&gt;
&lt;br /&gt;
'''ARO''' - objekty (nebo skupiny objektů), které chtějí jednotlivé operace (ACO) vykonávat&lt;br /&gt;
&lt;br /&gt;
'''AXO''' - objekty (nebo skupiny objektů), nad kterými chtějí jednotlivé ARO nějakou operaci (ACO)&lt;br /&gt;
&lt;br /&gt;
===acl===&lt;br /&gt;
Tabulka definující jednotlivé přístupová pravidla.&lt;br /&gt;
&lt;br /&gt;
Obsahuje sloupce id, section_value, allow, enabled, return_value, note, updated_date.&lt;br /&gt;
&lt;br /&gt;
'''id''' - identifikátor, důležitý pro propojení s ACO, ARO a AXO&lt;br /&gt;
&lt;br /&gt;
'''section_value''' - název sekce, kam toto pravidlo patří&lt;br /&gt;
&lt;br /&gt;
'''allow''' - 1 =&amp;gt; pravidlo operaci povoluje, 0 =&amp;gt; pravidlo operaci zakazuje&lt;br /&gt;
&lt;br /&gt;
'''enabled''' - 1 =&amp;gt; pravidlo je povolené, 0 =&amp;gt; pravidlo je zakázané&lt;br /&gt;
&lt;br /&gt;
'''return_value''' - zatím netuším&lt;br /&gt;
&lt;br /&gt;
'''note''' - komentář, popisující funkci pravidla (např. Administrátoři mohouu dělat vše)&lt;br /&gt;
&lt;br /&gt;
'''updated_date''' - timestamp poslednín aktualizace pravidla&lt;br /&gt;
&lt;br /&gt;
===acl_sections===&lt;br /&gt;
Tabulka definující jednotlivé sekce pravidel.&lt;br /&gt;
&lt;br /&gt;
Defaultně jsou v PhpGaclu dvě sekce - System a User, FreenetIS ale používá jen User.&lt;br /&gt;
&lt;br /&gt;
Obsahuje sloupce id, value, order_value, name a hidden.&lt;br /&gt;
&lt;br /&gt;
'''id''' - identifikátor, víceméně zbytečný, protože pravidla se do sekcí přiřazují pomocí hodnoty (value)&lt;br /&gt;
&lt;br /&gt;
'''value''' - krátký název bez mezer, používá se pro přiřazení jednotlivých acl do sekcí&lt;br /&gt;
&lt;br /&gt;
'''order_value''' - zatím netuším&lt;br /&gt;
&lt;br /&gt;
'''name''' - dlouhý název, popis&lt;br /&gt;
&lt;br /&gt;
'''hidden''' - 0 =&amp;gt; sekce je viditelná, 1 =&amp;gt; je skrytá&lt;br /&gt;
&lt;br /&gt;
===acl_seq===&lt;br /&gt;
Tabulka, jejíž jediným účelem je zapamatování si aktuálně posledního id tabulky acl.&lt;br /&gt;
&lt;br /&gt;
PhpGacl (bůhví proč) nepoužívá u tabulek auto increment.&lt;br /&gt;
&lt;br /&gt;
Obsahuje sloupec id.&lt;br /&gt;
&lt;br /&gt;
'''id''' - poslední id v tabulce acl&lt;br /&gt;
&lt;br /&gt;
===aco===&lt;br /&gt;
Tabulka definující jednotlivé objekty ACO. Ve FreenetISu jsou buď ACO pro vykreslování menu (sekce menu) a ACO pro obecné operace (sekce freenetis) - view_all, view_own, edit_all, edit_own, delete_all, delete_own, new_all, new_own, confirm_all, confirm_own, ... které se používají '''výhradně''' s AXO objekty.&lt;br /&gt;
&lt;br /&gt;
Obsahuje sloupce id, section_value, value, order_value, name a hidden.&lt;br /&gt;
&lt;br /&gt;
'''id''' - identifikátor, nedůležitý (pro propojení s acl v tabulce aco_map se používá value)&lt;br /&gt;
&lt;br /&gt;
'''section_value''' - jméno sekce, definované v aco_sections&lt;br /&gt;
&lt;br /&gt;
'''value''' - krátký název bez mezer, používá se pro přiřazení jednotlivých aco do sekcí a pro propojení s jednotlivými acl pravidly v aco_map&lt;br /&gt;
&lt;br /&gt;
'''order_value''' - zatím netuším &lt;br /&gt;
&lt;br /&gt;
'''name''' - dlouhý název, popis&lt;br /&gt;
&lt;br /&gt;
'''hidden''' - 0 =&amp;gt; sekce je viditelná, 1 =&amp;gt; je skrytá&lt;br /&gt;
&lt;br /&gt;
===aco_map===&lt;br /&gt;
&lt;br /&gt;
Propojuje ACO objekty s jednotlivými acl pravidly. ACO jako jediné (z trojice ACO, ARO a AXO) nemá možnost shhlukování do skupin, proto není žádná další dabulka aco_groups_map.&lt;br /&gt;
&lt;br /&gt;
Obsahuje sloupce acl_id, section_value a value.&lt;br /&gt;
&lt;br /&gt;
'''acl_id''' -&lt;br /&gt;
 &lt;br /&gt;
'''section_value''' - &lt;br /&gt;
&lt;br /&gt;
'''value''' -&lt;br /&gt;
&lt;br /&gt;
===aco_sections===&lt;br /&gt;
&lt;br /&gt;
Sekce pro jednotlivé ACO, FreenetIS používá pouze dvě: menu - pro ACO objekty týkající se vykreslování menu, a pak freenetis - pro definici obecných ACO operací (zobrazení, editování, mazání a potvrzování).&lt;br /&gt;
&lt;br /&gt;
Obsahuje sloupce id, value, order_value, name a hidden.&lt;br /&gt;
&lt;br /&gt;
'''id''' - identifikátor sekce (není pro nic potřeba)&lt;br /&gt;
&lt;br /&gt;
'''value''' - samotný název sekce (u nás menu a freenetis)&lt;br /&gt;
&lt;br /&gt;
'''order_value''' - zatím netuším &lt;br /&gt;
&lt;br /&gt;
'''name''' - popis sekce&lt;br /&gt;
&lt;br /&gt;
'''hidden''' - 0 =&amp;gt; sekce je viditelná, 1 =&amp;gt; je skrytá&lt;br /&gt;
&lt;br /&gt;
===aro_groups_map===&lt;br /&gt;
&lt;br /&gt;
přiřazuje k jednotlivým ACL pravidlům skupiny uživatelů.&lt;br /&gt;
&lt;br /&gt;
Příklad:&lt;br /&gt;
&lt;br /&gt;
Vytvoříme pravidlo &amp;quot;Zájemci o členství a řádní členové mohou dělat XYZ&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Toto pravidlo bude v tabulce &amp;quot;acl&amp;quot; reprezentováno novým řádek s id=27, ve kterém je uloženo hodnota &amp;quot;allow&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Pokud &amp;quot;řádní členové&amp;quot; mají id=22 a zájemci o členství id=23, pak v tabulce aro_groups_map při vytvoření tohoto pravidla přibudou 2 nové řádky:&lt;br /&gt;
&lt;br /&gt;
acl_id | group_id&lt;br /&gt;
-----------------&lt;br /&gt;
27     | 22&lt;br /&gt;
&lt;br /&gt;
27     | 23&lt;br /&gt;
&lt;br /&gt;
===axo_groups_map===&lt;br /&gt;
&lt;br /&gt;
Podobné jako aro_groups_map, ale pro AXO&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D0%B8%D0%B8&amp;diff=2128</id>
		<title>Версии</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D0%B8%D0%B8&amp;diff=2128"/>
				<updated>2013-12-10T12:57:16Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs:Verzování en:Versioning  Для нумерации версий FreenetIS используется трехзначное число (то есть, XXX).  * ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Verzování]]&lt;br /&gt;
[[en:Versioning]]&lt;br /&gt;
&lt;br /&gt;
Для нумерации версий FreenetIS используется трехзначное число (то есть, XXX).&lt;br /&gt;
&lt;br /&gt;
* Первое число всегда 1'' (версия 2 должна быть написана на Java EE и пока не предвидится)''&lt;br /&gt;
&lt;br /&gt;
* Второе число является наиболее важным, так как оно сообщает о существенных изменениях и дополнительных функциях. (Можно увидеть в [плане развития http://dev.freenetis.org/projects/freenetis/roadmap])&lt;br /&gt;
&lt;br /&gt;
* Третье число указывает на патчи и незначительные изменения во втором номере версии.&lt;br /&gt;
&lt;br /&gt;
Текущая версия FreenetISu хранится в файле'' '/ version.php'''.&lt;br /&gt;
&lt;br /&gt;
== Версии разработки ==&lt;br /&gt;
&lt;br /&gt;
Вышеуказанные номера версий предназначена для пользователей. Для целей разработки  добавлено  еще один пункт версии с префиксом ''' ~ '''. В этом пункте может быть одно из следующих:&lt;br /&gt;
&lt;br /&gt;
*''' Dev ''' относится к развитию версии - находится за пределами тестовой ветви (включая нестабильные и неполные реализации новой версии)&lt;br /&gt;
&lt;br /&gt;
*''' Альфа ''' указывает альфа-версии - расположена в тестовой ветви , в основном на стадии тестировании (в том числе с частично завершенной реализацией)&lt;br /&gt;
&lt;br /&gt;
*''' Бета ''' обозначает бета-версии - расположена в отрасли , в основном в тестировании &lt;br /&gt;
&lt;br /&gt;
*''' Rc '' ' означает релиз-кандидат версии - находится в стадии тестирования (сделано отлаженную реализацию заключительного теста )&lt;br /&gt;
&lt;br /&gt;
По пункту все еще может быть номер, который позволяет создавать несколько версий одного и того же пункта. Сортировка версии (используется, например , в [ http://wiki.freenetis.org/index.php/Autoupdate_DB_struktury Autoupdate_DB_struktury ] ) совпадает с порядком в списке (т.е. разработчика &amp;lt; альфа &amp;lt; бета &amp;lt; RC) . Все версии развития сортируются до выхода финальной версии (XXX) .&lt;br /&gt;
&lt;br /&gt;
=== Пример развития номеров версий ===&lt;br /&gt;
&lt;br /&gt;
Рассмотрим текущую версию 1.5.0. Мы постепенно развиваем версию 1.6.0, наш прогресс в версии может быть следующий:&lt;br /&gt;
&lt;br /&gt;
* Несколько версий развития в отдельной ветке (1.6.0 ~ dev1, dev2 ~ .6.0, ...).&lt;br /&gt;
* В результате разработка постепенно альфа-версии (1.6.0 ~ alpha1, 1.6.0 ~ alpha1, ...).&lt;br /&gt;
* После завершения всех основных изменений, мы объединяем версии  в тестировании  и отладке  которое мы обозначим как ~ 1.6.0 бета и выпускаэм бета-версию.&lt;br /&gt;
* После отладки предлагаем пользователям принять участие в тестировании RC Если Вы обнаружили ошибки, исправляем их и выпускаем еще один RC (1.6.0 ~ rc1 ...).&lt;br /&gt;
* Если все в порядке, мы объединяем результаты и выпускаем главную версию (1.6.0)&lt;br /&gt;
* Если вы нашли после выхода некоторые ошибки мы публикуем их в качестве версий 1.6.1, 1.6.2, ... до тех пор, пока вы не объявляем о прекращении поддержки версии.&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Versioning&amp;diff=2127</id>
		<title>Versioning</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Versioning&amp;diff=2127"/>
				<updated>2013-12-10T12:56:07Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Verzování]]&lt;br /&gt;
[[ru:Версии]]&lt;br /&gt;
&lt;br /&gt;
FreenetIS versioning uses a three-digit number (ie, xxx).&lt;br /&gt;
&lt;br /&gt;
* The first number is always 1'' (version 2 has been written in Java EE and is not yet in sight)''&lt;br /&gt;
&lt;br /&gt;
* The second number is the most important, as it informs the extensive changes and added functionality. (can be seen in [http://dev.freenetis.org/projects/freenetis/roadmap development plan])&lt;br /&gt;
&lt;br /&gt;
* The third number information on patches and minor changes in the second version number.&lt;br /&gt;
&lt;br /&gt;
Current version FreenetISu instance is stored in the file'' '/ version.php'''.&lt;br /&gt;
&lt;br /&gt;
Developer version ==&lt;br /&gt;
&lt;br /&gt;
The above versioning is intended for distribution among the users ( ie in the branch trunk ) . For development purposes, added another item version prefixed by '' '~ ''' . For this feature can be stated precisely one of the following items :&lt;br /&gt;
&lt;br /&gt;
*'' ' Dev ''' refers to the development version - located outside the testing branch (includes unstable and incomplete implementation of the new version )&lt;br /&gt;
&lt;br /&gt;
*'' ' Alpha ''' indicates alpha version - located in the branch , mainly in testing (includes partially completed implementation)&lt;br /&gt;
&lt;br /&gt;
*'' ' Beta '' ' denotes the beta version - located in the branch , mainly in testing (includes shelf implementations suitable for testing )&lt;br /&gt;
&lt;br /&gt;
*'' ' Rc '' ' stands for Release Candidate version - is in testing ( done debugged implementation to final test )&lt;br /&gt;
&lt;br /&gt;
For item can still be a number that allows you to create multiple versions of the same item and arrange it for you. Sort versions ( used eg in [ http://wiki.freenetis.org/index.php/Autoupdate_DB_struktury Autoupdate_DB_struktury ] ) is identical to the order of the list ( ie dev &amp;lt; alpha &amp;lt; beta &amp;lt; rc ) . All development versions are sorted before the final version (xxx ) &lt;br /&gt;
&lt;br /&gt;
=== Example of versioning development ===&lt;br /&gt;
&lt;br /&gt;
Consider a current version 1.5.0. We gradually develop version 1.6.0, our progress in versioning could be the following:&lt;br /&gt;
&lt;br /&gt;
* Several developmental version in a separate Branch (1.6.0 ~ dev1, dev2 ~ .6.0, ...).&lt;br /&gt;
* The result of the development costs progressively as the alpha version (1.6.0 ~ alpha1, 1.6.0 ~ alpha1, ...).&lt;br /&gt;
* After completing all of the major changes we merge into testing, which we denote as ~ 1.6.0 beta, and debugging released the beta version.&lt;br /&gt;
* After debugging offer users even in testing RC if you find errors, fix them and release another RC (1.6.0 ~ rc1 ...).&lt;br /&gt;
* If everything is OK we will merge into the trunk and head version (1.6.0)&lt;br /&gt;
* If you are found after the release of some errors we publish them as versions 1.6.1, 1.6.2, ... for as long as you do not declare for an unsupported version.&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Verzov%C3%A1n%C3%AD&amp;diff=2126</id>
		<title>Verzování</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Verzov%C3%A1n%C3%AD&amp;diff=2126"/>
				<updated>2013-12-10T12:46:52Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Versioning]]&lt;br /&gt;
[[ru:Версии]]&lt;br /&gt;
&lt;br /&gt;
FreenetIS používá třímístné verzovací číslo (tj. x.x.x).&lt;br /&gt;
&lt;br /&gt;
* První číslo je vždy 1 ''(verze 2 má být napsána v Java EE a je zatím v nedohlednu)''&lt;br /&gt;
&lt;br /&gt;
* Druhé číslo je nejdůležitějším, jelikož informuje o rozsáhlých změnách a přidané funkcionalitě. (lze pozorovat v [http://dev.freenetis.org/projects/freenetis/roadmap plánu vývoje])&lt;br /&gt;
&lt;br /&gt;
* Třetí číslo informuje o záplatách a drobných změnách ve verzi dané druhým číslem.&lt;br /&gt;
&lt;br /&gt;
Aktuální verze instance FreenetISu je uložena v souboru '''/version.php'''.&lt;br /&gt;
&lt;br /&gt;
== Vývojářské verze ==&lt;br /&gt;
&lt;br /&gt;
Výše zmíněné verzování je určeno pro distribuci mezi uživatele (tj. ve větvi trunk). Pro vývojářské účely je přidána další položka verze uvozená znakem '''~'''. Za tímto znakem může být uvedena právě jedna z následujících položek:&lt;br /&gt;
&lt;br /&gt;
* '''dev''' označuje vývojářskou verzi - nachází v branchích mimo testing (obsahuje nestabilní a neúplné implementace nových verzí)&lt;br /&gt;
&lt;br /&gt;
* '''alpha''' označuje aplha verzi - nachází se v branchích, převážně v testingu (obsahuje částečně hotové implementace)&lt;br /&gt;
&lt;br /&gt;
* '''beta''' označuje beta verzi - nachází se v branchích, převážně v testingu (obsahuje hotové implementace vhodné pro otestování)&lt;br /&gt;
&lt;br /&gt;
* '''rc''' označuje Release Candidate verzi - nachází se v testingu (hotové odladěná implementace k finálnímu otestování)&lt;br /&gt;
&lt;br /&gt;
Za položkou může být ještě číslo, které umožňuje vytvářet více verzí se stejnou položkou a řadit je za sebou. Řazení verzí (použité např. při [http://wiki.freenetis.org/index.php/Autoupdate_DB_struktury Autoupdate_DB_struktury]) je shodné s pořadím v seznamu (tj. dev &amp;lt; alpha &amp;lt; beta &amp;lt; rc). Všechny vývojářské verze jsou řazeny před finální verze (x.x.x).&lt;br /&gt;
&lt;br /&gt;
=== Příklad verzování vývojové verze ===&lt;br /&gt;
&lt;br /&gt;
Mějme aktuální verzi 1.5.0. Chceme postupně vyvinout verzi 1.6.0, náš postup ve verzování by mohl být například následující:&lt;br /&gt;
&lt;br /&gt;
* Několik vývojových verzi v samostatné branchi (1.6.0~dev1, .6.0~dev2, ...).&lt;br /&gt;
* Výsledek vývoje vydáme postupně jako alpha verze (1.6.0~alpha1, 1.6.0~alpha1, ...).&lt;br /&gt;
* Po dokončení všech hlavních změn uděláme merge do testingu, který označíme jako 1.6.0~beta, a do odladění vydáváme další beta verze.&lt;br /&gt;
* Po odladění nabídneme v testingu uživatelům ještě RC, pokud narazíme na chyby, opravíme je a vydáme další RC (1.6.0~rc1, ...).&lt;br /&gt;
* Pokud je vše OK provedeme merge do trunku a vydáme verzi (1.6.0)&lt;br /&gt;
* Pokud po vydání jsou nalezeny nějaké chyby vydáváme je jako verze 1.6.1, 1.6.2, ... do doby, dokud verzi neprohlásíme za nepodporovanou.&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Settings&amp;diff=2125</id>
		<title>Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Settings&amp;diff=2125"/>
				<updated>2013-12-10T12:42:54Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Nastavení]]&lt;br /&gt;
[[ru:Настройки]]&lt;br /&gt;
&lt;br /&gt;
Like any other information system and FreenetIS must have the possibility of various settings to the user and the system. At present, the more care two libraries:&lt;br /&gt;
&lt;br /&gt;
  application / libraries / settings.php (to set through a database)&lt;br /&gt;
  system / core / config.php (to set through the configuration file)&lt;br /&gt;
&lt;br /&gt;
= Initial state =&lt;br /&gt;
&lt;br /&gt;
In original condition Kohana framework supported only setting in the configuration file, no database setup over there. It follows that the system did not go to create form settings - you then have to pre-generate these files =&amp;gt; big security risk.&lt;br /&gt;
&lt;br /&gt;
= Current Status =&lt;br /&gt;
&lt;br /&gt;
Almost all the settings have been moved into the database. In the configuration file leaving only the access data to the database.&lt;br /&gt;
&lt;br /&gt;
= Actual implementation =&lt;br /&gt;
&lt;br /&gt;
== Library Settings ==&lt;br /&gt;
&lt;br /&gt;
All settings are stored in a database table Config.&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
&lt;br /&gt;
==== contact ====&lt;br /&gt;
&lt;br /&gt;
==== currency ====&lt;br /&gt;
&lt;br /&gt;
- The currency that is used in the system&lt;br /&gt;
&lt;br /&gt;
- Can be set in Settings - System - Currency&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': CZK&lt;br /&gt;
&lt;br /&gt;
==== db_schema_version ====&lt;br /&gt;
&lt;br /&gt;
- Probably the most important variable - Specifies the current revision of the database schema used in the [[Autoupdate DB structure]]&lt;br /&gt;
&lt;br /&gt;
-'''Can not be set by the user in the system, determines itself'''&lt;br /&gt;
&lt;br /&gt;
==== Debtor ====&lt;br /&gt;
==== default_country ====&lt;br /&gt;
- Basic country used in a system (id from table countries)&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': 55 (Czech Republic)&lt;br /&gt;
domain ==== ====&lt;br /&gt;
&lt;br /&gt;
- Domain, which runs on FreenetIS&lt;br /&gt;
&lt;br /&gt;
- If your address FreenetISu &amp;lt;nowiki&amp;gt; http://www.mojedomena.cz/freenetis/ &amp;lt;/ nowiki&amp;gt;, this variable &amp;lt;nowiki&amp;gt; www.mojedomena.cz &amp;lt;/ nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty (for a URL then use server :: HTTP_HOST ())&lt;br /&gt;
&lt;br /&gt;
====email_default_email ====&lt;br /&gt;
&lt;br /&gt;
- Default e-mail - all e-mails sent from FreenetIS will be listed as the sender of this address&lt;br /&gt;
&lt;br /&gt;
- Can be set in Settings - System - Default e-mail&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': no-reply@freenetis.org&lt;br /&gt;
&lt;br /&gt;
====email_driver==== &lt;br /&gt;
&lt;br /&gt;
- Driver sending e-mail - the way they send e-mails&lt;br /&gt;
&lt;br /&gt;
- The possible options - native (using php mail), SMTP and Sendmail&lt;br /&gt;
&lt;br /&gt;
- Set in the Settings - E-mail - Driver&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': native&lt;br /&gt;
&lt;br /&gt;
====email_hostname====&lt;br /&gt;
&lt;br /&gt;
- SMTP server host&lt;br /&gt;
&lt;br /&gt;
- Is taken into account only if it is set to SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Set in the Settings - E-mail - Host Name&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty&lt;br /&gt;
&lt;br /&gt;
====email_port====&lt;br /&gt;
&lt;br /&gt;
- SMTP server port&lt;br /&gt;
&lt;br /&gt;
- Is taken into account only if it is set to SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Set in the Settings - E-mail - Port&lt;br /&gt;
&lt;br /&gt;
-'''Default''': 25&lt;br /&gt;
&lt;br /&gt;
====EMAIL_PASSWORD====&lt;br /&gt;
&lt;br /&gt;
- Password for the SMTP server host&lt;br /&gt;
&lt;br /&gt;
- Is taken into account only if it is set to SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Set in the Settings - E-mail - Password&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty&lt;br /&gt;
&lt;br /&gt;
====email_username====&lt;br /&gt;
&lt;br /&gt;
- Username to access the SMTP server host&lt;br /&gt;
&lt;br /&gt;
- Is taken into account only if it is set to SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Set in the Settings - E-mail - User Name&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty&lt;br /&gt;
&lt;br /&gt;
====gateway====&lt;br /&gt;
&lt;br /&gt;
====index_page====&lt;br /&gt;
&lt;br /&gt;
- Boolean variable, whether it is displayed index.php in the URL &lt;br /&gt;
&lt;br /&gt;
- 1 =&amp;gt; will be displayed, 0 =&amp;gt; will be not displayed&lt;br /&gt;
&lt;br /&gt;
- Can be set in Settings - System - Clean URL (via negation)&lt;br /&gt;
&lt;br /&gt;
-'''Default''' 1&lt;br /&gt;
&lt;br /&gt;
====info====&lt;br /&gt;
&lt;br /&gt;
====interrupt====&lt;br /&gt;
&lt;br /&gt;
====map_google_maps_api_key====&lt;br /&gt;
&lt;br /&gt;
- Key for Google Maps API, which is in use.&lt;br /&gt;
&lt;br /&gt;
-'''Default''': empty&lt;br /&gt;
&lt;br /&gt;
====optional_message====&lt;br /&gt;
&lt;br /&gt;
====payment_notice====&lt;br /&gt;
&lt;br /&gt;
====protocol====&lt;br /&gt;
&lt;br /&gt;
- Protocol, which runs on FreenetIS&lt;br /&gt;
&lt;br /&gt;
- If your address FreenetISu &amp;lt;nowiki&amp;gt; http://www.mojedomena.cz/freenetis/ &amp;lt;/ nowiki&amp;gt;, this variable &amp;lt;nowiki&amp;gt; http &amp;lt;/ nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty (for a URL is used the value of http)&lt;br /&gt;
&lt;br /&gt;
====registration_info====&lt;br /&gt;
&lt;br /&gt;
- Information that appears on the exported on top of application&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty&lt;br /&gt;
&lt;br /&gt;
====registration_license====&lt;br /&gt;
&lt;br /&gt;
- Licensing conditions that appear on the bottom of the exported application &lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty&lt;br /&gt;
&lt;br /&gt;
====self_registration====&lt;br /&gt;
&lt;br /&gt;
- Logical variable whether to allow self-registration of candidates for membership&lt;br /&gt;
&lt;br /&gt;
- Can be set in Settings - System - Self-Registration&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''' 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====suffix====&lt;br /&gt;
&lt;br /&gt;
- Suffix for the domain in the URL, which runs FreenetIS&lt;br /&gt;
&lt;br /&gt;
- If your address FreenetISu &amp;lt;nowiki&amp;gt; http://www.mojedomena.cz/freenetis/ &amp;lt;/ nowiki&amp;gt;, this variable &amp;lt;nowiki&amp;gt; / freenetis / &amp;lt;/ nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Must always begin and end with a slash (may be  /)&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty (for a URL is then used substr (server :: SCRIPT_NAME (), 0, -9))&lt;br /&gt;
&lt;br /&gt;
====title====&lt;br /&gt;
&lt;br /&gt;
- Page title that appears in the header (inside the HTML title attribute)&lt;br /&gt;
&lt;br /&gt;
- Can be set in Settings - System - Page title&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': FreenetIS&lt;br /&gt;
&lt;br /&gt;
====unknown device====&lt;br /&gt;
&lt;br /&gt;
 ====upload directory====&lt;br /&gt;
&lt;br /&gt;
- Specifies the directory in which to upload files (imports, etc.)&lt;br /&gt;
&lt;br /&gt;
-'''Default''' upload&lt;br /&gt;
&lt;br /&gt;
====use_javascript====&lt;br /&gt;
&lt;br /&gt;
- Boolean variable, whether it is used javascript&lt;br /&gt;
&lt;br /&gt;
- Obsolete, in the future will be removed&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''' 1&lt;br /&gt;
&lt;br /&gt;
====voip_billing_driver====&lt;br /&gt;
- Variable contains the currently selected driver for VoIP&lt;br /&gt;
&lt;br /&gt;
- Currently supported for VOIP solutions only drver from NFX  z.s.p.o.&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''' 0&lt;br /&gt;
&lt;br /&gt;
====voip_billing_partner====&lt;br /&gt;
&lt;br /&gt;
- Variable contains the user name to log on to billing&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''' empty&lt;br /&gt;
&lt;br /&gt;
====voip_billing_password====&lt;br /&gt;
- Variable contains the user password to log on to billing&lt;br /&gt;
&lt;br /&gt;
-'''Default''' empty&lt;br /&gt;
&lt;br /&gt;
====voip_number_exclude====&lt;br /&gt;
- Variable contains a nine-digit numbers separated by a semicolon (;)&lt;br /&gt;
&lt;br /&gt;
- The figures shown in this list are not offered for selection for the registration of VoIP account&lt;br /&gt;
&lt;br /&gt;
-'''Default''' empty&lt;br /&gt;
&lt;br /&gt;
====voip_number_interval====&lt;br /&gt;
- Variable contains a nine-digit number in the range of shape-XXXXXXXXX XXXXXXXXX&lt;br /&gt;
&lt;br /&gt;
- The figures shown in this list are offered for selection for the registration of VoIP account&lt;br /&gt;
&lt;br /&gt;
-'''Default''' empty&lt;br /&gt;
&lt;br /&gt;
====voip_sip_server====&lt;br /&gt;
- Variable holds a string with the SIP server hostname. Eg. sip.slfree.czf&lt;br /&gt;
&lt;br /&gt;
- Appears in VoIP account as additional information. It has no effect on the control panel.&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty&lt;br /&gt;
&lt;br /&gt;
====website_after_redirection====&lt;br /&gt;
&lt;br /&gt;
===Methods===&lt;br /&gt;
&lt;br /&gt;
The entire library contains only two methods - set and get.&lt;br /&gt;
&lt;br /&gt;
The controller and the views is used to dynamically access - at the top of the controller creates an instance of the library:&lt;br /&gt;
&lt;br /&gt;
  $ this-&amp;gt; settings = new Settings ();&lt;br /&gt;
&lt;br /&gt;
and then as the value of the variable suffix is obtained as follows:&lt;br /&gt;
&lt;br /&gt;
  $ this-&amp;gt; Settings-&amp;gt; get ('suffix');&lt;br /&gt;
&lt;br /&gt;
In the other application (helpers, etc.) must then use the static approach:&lt;br /&gt;
&lt;br /&gt;
  $ suffix = Settings :: get ('suffix');&lt;br /&gt;
&lt;br /&gt;
====Get====&lt;br /&gt;
&lt;br /&gt;
- Returns the value specified by the key&lt;br /&gt;
&lt;br /&gt;
- If it finds a non-empty value, return it&lt;br /&gt;
&lt;br /&gt;
- If it finds a null value or an unexpected error happens, it checks whether there is a private attribute of the same name (ie default)&lt;br /&gt;
&lt;br /&gt;
- If it exists, return it&lt;br /&gt;
&lt;br /&gt;
- If there is, try to return the same name variable from the config (the config file)&lt;br /&gt;
&lt;br /&gt;
=== set ====&lt;br /&gt;
&lt;br /&gt;
- Set the variable input with keys to the specified value&lt;br /&gt;
&lt;br /&gt;
- If an unexpected error occurs, it returns failure&lt;br /&gt;
&lt;br /&gt;
- Else if variable already exists in the database, updates it&lt;br /&gt;
&lt;br /&gt;
- Attempt to create variable in the database if does not exist, &lt;br /&gt;
&lt;br /&gt;
==Library Config==&lt;br /&gt;
&lt;br /&gt;
These are the settings that are written to the configuration file config.php.&lt;br /&gt;
&lt;br /&gt;
It is, however, only variables with data for the database connection.&lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
&lt;br /&gt;
====db_type====&lt;br /&gt;
&lt;br /&gt;
- Database type (mysql, pgsql)&lt;br /&gt;
&lt;br /&gt;
- Yet is only supported by MySQL&lt;br /&gt;
&lt;br /&gt;
-'''Default''': mysql&lt;br /&gt;
&lt;br /&gt;
====db_name====&lt;br /&gt;
&lt;br /&gt;
- Name of the database, which runs FreenetIS&lt;br /&gt;
&lt;br /&gt;
-'''Default''': freenetis&lt;br /&gt;
&lt;br /&gt;
====db_host====&lt;br /&gt;
&lt;br /&gt;
- The address of the host that will run FreenetIS&lt;br /&gt;
&lt;br /&gt;
-'''Default''': localhost&lt;br /&gt;
&lt;br /&gt;
====db_user====&lt;br /&gt;
&lt;br /&gt;
- User name to connect to the database&lt;br /&gt;
&lt;br /&gt;
-'''Default''': freenetis&lt;br /&gt;
&lt;br /&gt;
====DB_PASSWORD====&lt;br /&gt;
&lt;br /&gt;
- The user password for the database connection&lt;br /&gt;
&lt;br /&gt;
-'''Default''': freenetis&lt;br /&gt;
&lt;br /&gt;
====db_table_prefix====&lt;br /&gt;
&lt;br /&gt;
- Prefix for tables FreenetIS&lt;br /&gt;
&lt;br /&gt;
- Useful if you want to use a common database for FreenetIS and other project&lt;br /&gt;
&lt;br /&gt;
-'''Default''': empty&lt;br /&gt;
&lt;br /&gt;
===Methods===&lt;br /&gt;
&lt;br /&gt;
Unlike libraries Settings at the library only uses static approach:&lt;br /&gt;
&lt;br /&gt;
  $ db_name = Config :: get ('db_name')&lt;br /&gt;
&lt;br /&gt;
===Get====&lt;br /&gt;
&lt;br /&gt;
- Returns the value of the configuration file according to a specified key&lt;br /&gt;
&lt;br /&gt;
===set====&lt;br /&gt;
&lt;br /&gt;
- Set the desired value for the specified key&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Settings&amp;diff=2124</id>
		<title>Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Settings&amp;diff=2124"/>
				<updated>2013-12-10T12:42:37Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Nastavení]]&lt;br /&gt;
[[ru:Настройки]]&lt;br /&gt;
&lt;br /&gt;
[[en: Settings]]&lt;br /&gt;
Like any other information system and FreenetIS must have the possibility of various settings to the user and the system. At present, the more care two libraries:&lt;br /&gt;
&lt;br /&gt;
  application / libraries / settings.php (to set through a database)&lt;br /&gt;
  system / core / config.php (to set through the configuration file)&lt;br /&gt;
&lt;br /&gt;
= Initial state =&lt;br /&gt;
&lt;br /&gt;
In original condition Kohana framework supported only setting in the configuration file, no database setup over there. It follows that the system did not go to create form settings - you then have to pre-generate these files =&amp;gt; big security risk.&lt;br /&gt;
&lt;br /&gt;
= Current Status =&lt;br /&gt;
&lt;br /&gt;
Almost all the settings have been moved into the database. In the configuration file leaving only the access data to the database.&lt;br /&gt;
&lt;br /&gt;
= Actual implementation =&lt;br /&gt;
&lt;br /&gt;
== Library Settings ==&lt;br /&gt;
&lt;br /&gt;
All settings are stored in a database table Config.&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
&lt;br /&gt;
==== contact ====&lt;br /&gt;
&lt;br /&gt;
==== currency ====&lt;br /&gt;
&lt;br /&gt;
- The currency that is used in the system&lt;br /&gt;
&lt;br /&gt;
- Can be set in Settings - System - Currency&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': CZK&lt;br /&gt;
&lt;br /&gt;
==== db_schema_version ====&lt;br /&gt;
&lt;br /&gt;
- Probably the most important variable - Specifies the current revision of the database schema used in the [[Autoupdate DB structure]]&lt;br /&gt;
&lt;br /&gt;
-'''Can not be set by the user in the system, determines itself'''&lt;br /&gt;
&lt;br /&gt;
==== Debtor ====&lt;br /&gt;
==== default_country ====&lt;br /&gt;
- Basic country used in a system (id from table countries)&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': 55 (Czech Republic)&lt;br /&gt;
domain ==== ====&lt;br /&gt;
&lt;br /&gt;
- Domain, which runs on FreenetIS&lt;br /&gt;
&lt;br /&gt;
- If your address FreenetISu &amp;lt;nowiki&amp;gt; http://www.mojedomena.cz/freenetis/ &amp;lt;/ nowiki&amp;gt;, this variable &amp;lt;nowiki&amp;gt; www.mojedomena.cz &amp;lt;/ nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty (for a URL then use server :: HTTP_HOST ())&lt;br /&gt;
&lt;br /&gt;
====email_default_email ====&lt;br /&gt;
&lt;br /&gt;
- Default e-mail - all e-mails sent from FreenetIS will be listed as the sender of this address&lt;br /&gt;
&lt;br /&gt;
- Can be set in Settings - System - Default e-mail&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': no-reply@freenetis.org&lt;br /&gt;
&lt;br /&gt;
====email_driver==== &lt;br /&gt;
&lt;br /&gt;
- Driver sending e-mail - the way they send e-mails&lt;br /&gt;
&lt;br /&gt;
- The possible options - native (using php mail), SMTP and Sendmail&lt;br /&gt;
&lt;br /&gt;
- Set in the Settings - E-mail - Driver&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': native&lt;br /&gt;
&lt;br /&gt;
====email_hostname====&lt;br /&gt;
&lt;br /&gt;
- SMTP server host&lt;br /&gt;
&lt;br /&gt;
- Is taken into account only if it is set to SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Set in the Settings - E-mail - Host Name&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty&lt;br /&gt;
&lt;br /&gt;
====email_port====&lt;br /&gt;
&lt;br /&gt;
- SMTP server port&lt;br /&gt;
&lt;br /&gt;
- Is taken into account only if it is set to SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Set in the Settings - E-mail - Port&lt;br /&gt;
&lt;br /&gt;
-'''Default''': 25&lt;br /&gt;
&lt;br /&gt;
====EMAIL_PASSWORD====&lt;br /&gt;
&lt;br /&gt;
- Password for the SMTP server host&lt;br /&gt;
&lt;br /&gt;
- Is taken into account only if it is set to SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Set in the Settings - E-mail - Password&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty&lt;br /&gt;
&lt;br /&gt;
====email_username====&lt;br /&gt;
&lt;br /&gt;
- Username to access the SMTP server host&lt;br /&gt;
&lt;br /&gt;
- Is taken into account only if it is set to SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Set in the Settings - E-mail - User Name&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty&lt;br /&gt;
&lt;br /&gt;
====gateway====&lt;br /&gt;
&lt;br /&gt;
====index_page====&lt;br /&gt;
&lt;br /&gt;
- Boolean variable, whether it is displayed index.php in the URL &lt;br /&gt;
&lt;br /&gt;
- 1 =&amp;gt; will be displayed, 0 =&amp;gt; will be not displayed&lt;br /&gt;
&lt;br /&gt;
- Can be set in Settings - System - Clean URL (via negation)&lt;br /&gt;
&lt;br /&gt;
-'''Default''' 1&lt;br /&gt;
&lt;br /&gt;
====info====&lt;br /&gt;
&lt;br /&gt;
====interrupt====&lt;br /&gt;
&lt;br /&gt;
====map_google_maps_api_key====&lt;br /&gt;
&lt;br /&gt;
- Key for Google Maps API, which is in use.&lt;br /&gt;
&lt;br /&gt;
-'''Default''': empty&lt;br /&gt;
&lt;br /&gt;
====optional_message====&lt;br /&gt;
&lt;br /&gt;
====payment_notice====&lt;br /&gt;
&lt;br /&gt;
====protocol====&lt;br /&gt;
&lt;br /&gt;
- Protocol, which runs on FreenetIS&lt;br /&gt;
&lt;br /&gt;
- If your address FreenetISu &amp;lt;nowiki&amp;gt; http://www.mojedomena.cz/freenetis/ &amp;lt;/ nowiki&amp;gt;, this variable &amp;lt;nowiki&amp;gt; http &amp;lt;/ nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty (for a URL is used the value of http)&lt;br /&gt;
&lt;br /&gt;
====registration_info====&lt;br /&gt;
&lt;br /&gt;
- Information that appears on the exported on top of application&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty&lt;br /&gt;
&lt;br /&gt;
====registration_license====&lt;br /&gt;
&lt;br /&gt;
- Licensing conditions that appear on the bottom of the exported application &lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty&lt;br /&gt;
&lt;br /&gt;
====self_registration====&lt;br /&gt;
&lt;br /&gt;
- Logical variable whether to allow self-registration of candidates for membership&lt;br /&gt;
&lt;br /&gt;
- Can be set in Settings - System - Self-Registration&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''' 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====suffix====&lt;br /&gt;
&lt;br /&gt;
- Suffix for the domain in the URL, which runs FreenetIS&lt;br /&gt;
&lt;br /&gt;
- If your address FreenetISu &amp;lt;nowiki&amp;gt; http://www.mojedomena.cz/freenetis/ &amp;lt;/ nowiki&amp;gt;, this variable &amp;lt;nowiki&amp;gt; / freenetis / &amp;lt;/ nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Must always begin and end with a slash (may be  /)&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty (for a URL is then used substr (server :: SCRIPT_NAME (), 0, -9))&lt;br /&gt;
&lt;br /&gt;
====title====&lt;br /&gt;
&lt;br /&gt;
- Page title that appears in the header (inside the HTML title attribute)&lt;br /&gt;
&lt;br /&gt;
- Can be set in Settings - System - Page title&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': FreenetIS&lt;br /&gt;
&lt;br /&gt;
====unknown device====&lt;br /&gt;
&lt;br /&gt;
 ====upload directory====&lt;br /&gt;
&lt;br /&gt;
- Specifies the directory in which to upload files (imports, etc.)&lt;br /&gt;
&lt;br /&gt;
-'''Default''' upload&lt;br /&gt;
&lt;br /&gt;
====use_javascript====&lt;br /&gt;
&lt;br /&gt;
- Boolean variable, whether it is used javascript&lt;br /&gt;
&lt;br /&gt;
- Obsolete, in the future will be removed&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''' 1&lt;br /&gt;
&lt;br /&gt;
====voip_billing_driver====&lt;br /&gt;
- Variable contains the currently selected driver for VoIP&lt;br /&gt;
&lt;br /&gt;
- Currently supported for VOIP solutions only drver from NFX  z.s.p.o.&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''' 0&lt;br /&gt;
&lt;br /&gt;
====voip_billing_partner====&lt;br /&gt;
&lt;br /&gt;
- Variable contains the user name to log on to billing&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''' empty&lt;br /&gt;
&lt;br /&gt;
====voip_billing_password====&lt;br /&gt;
- Variable contains the user password to log on to billing&lt;br /&gt;
&lt;br /&gt;
-'''Default''' empty&lt;br /&gt;
&lt;br /&gt;
====voip_number_exclude====&lt;br /&gt;
- Variable contains a nine-digit numbers separated by a semicolon (;)&lt;br /&gt;
&lt;br /&gt;
- The figures shown in this list are not offered for selection for the registration of VoIP account&lt;br /&gt;
&lt;br /&gt;
-'''Default''' empty&lt;br /&gt;
&lt;br /&gt;
====voip_number_interval====&lt;br /&gt;
- Variable contains a nine-digit number in the range of shape-XXXXXXXXX XXXXXXXXX&lt;br /&gt;
&lt;br /&gt;
- The figures shown in this list are offered for selection for the registration of VoIP account&lt;br /&gt;
&lt;br /&gt;
-'''Default''' empty&lt;br /&gt;
&lt;br /&gt;
====voip_sip_server====&lt;br /&gt;
- Variable holds a string with the SIP server hostname. Eg. sip.slfree.czf&lt;br /&gt;
&lt;br /&gt;
- Appears in VoIP account as additional information. It has no effect on the control panel.&lt;br /&gt;
&lt;br /&gt;
-'' 'Default''': empty&lt;br /&gt;
&lt;br /&gt;
====website_after_redirection====&lt;br /&gt;
&lt;br /&gt;
===Methods===&lt;br /&gt;
&lt;br /&gt;
The entire library contains only two methods - set and get.&lt;br /&gt;
&lt;br /&gt;
The controller and the views is used to dynamically access - at the top of the controller creates an instance of the library:&lt;br /&gt;
&lt;br /&gt;
  $ this-&amp;gt; settings = new Settings ();&lt;br /&gt;
&lt;br /&gt;
and then as the value of the variable suffix is obtained as follows:&lt;br /&gt;
&lt;br /&gt;
  $ this-&amp;gt; Settings-&amp;gt; get ('suffix');&lt;br /&gt;
&lt;br /&gt;
In the other application (helpers, etc.) must then use the static approach:&lt;br /&gt;
&lt;br /&gt;
  $ suffix = Settings :: get ('suffix');&lt;br /&gt;
&lt;br /&gt;
====Get====&lt;br /&gt;
&lt;br /&gt;
- Returns the value specified by the key&lt;br /&gt;
&lt;br /&gt;
- If it finds a non-empty value, return it&lt;br /&gt;
&lt;br /&gt;
- If it finds a null value or an unexpected error happens, it checks whether there is a private attribute of the same name (ie default)&lt;br /&gt;
&lt;br /&gt;
- If it exists, return it&lt;br /&gt;
&lt;br /&gt;
- If there is, try to return the same name variable from the config (the config file)&lt;br /&gt;
&lt;br /&gt;
=== set ====&lt;br /&gt;
&lt;br /&gt;
- Set the variable input with keys to the specified value&lt;br /&gt;
&lt;br /&gt;
- If an unexpected error occurs, it returns failure&lt;br /&gt;
&lt;br /&gt;
- Else if variable already exists in the database, updates it&lt;br /&gt;
&lt;br /&gt;
- Attempt to create variable in the database if does not exist, &lt;br /&gt;
&lt;br /&gt;
==Library Config==&lt;br /&gt;
&lt;br /&gt;
These are the settings that are written to the configuration file config.php.&lt;br /&gt;
&lt;br /&gt;
It is, however, only variables with data for the database connection.&lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
&lt;br /&gt;
====db_type====&lt;br /&gt;
&lt;br /&gt;
- Database type (mysql, pgsql)&lt;br /&gt;
&lt;br /&gt;
- Yet is only supported by MySQL&lt;br /&gt;
&lt;br /&gt;
-'''Default''': mysql&lt;br /&gt;
&lt;br /&gt;
====db_name====&lt;br /&gt;
&lt;br /&gt;
- Name of the database, which runs FreenetIS&lt;br /&gt;
&lt;br /&gt;
-'''Default''': freenetis&lt;br /&gt;
&lt;br /&gt;
====db_host====&lt;br /&gt;
&lt;br /&gt;
- The address of the host that will run FreenetIS&lt;br /&gt;
&lt;br /&gt;
-'''Default''': localhost&lt;br /&gt;
&lt;br /&gt;
====db_user====&lt;br /&gt;
&lt;br /&gt;
- User name to connect to the database&lt;br /&gt;
&lt;br /&gt;
-'''Default''': freenetis&lt;br /&gt;
&lt;br /&gt;
====DB_PASSWORD====&lt;br /&gt;
&lt;br /&gt;
- The user password for the database connection&lt;br /&gt;
&lt;br /&gt;
-'''Default''': freenetis&lt;br /&gt;
&lt;br /&gt;
====db_table_prefix====&lt;br /&gt;
&lt;br /&gt;
- Prefix for tables FreenetIS&lt;br /&gt;
&lt;br /&gt;
- Useful if you want to use a common database for FreenetIS and other project&lt;br /&gt;
&lt;br /&gt;
-'''Default''': empty&lt;br /&gt;
&lt;br /&gt;
===Methods===&lt;br /&gt;
&lt;br /&gt;
Unlike libraries Settings at the library only uses static approach:&lt;br /&gt;
&lt;br /&gt;
  $ db_name = Config :: get ('db_name')&lt;br /&gt;
&lt;br /&gt;
===Get====&lt;br /&gt;
&lt;br /&gt;
- Returns the value of the configuration file according to a specified key&lt;br /&gt;
&lt;br /&gt;
===set====&lt;br /&gt;
&lt;br /&gt;
- Set the desired value for the specified key&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8&amp;diff=2123</id>
		<title>Настройки</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8&amp;diff=2123"/>
				<updated>2013-12-10T12:25:23Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Nastavení]]&lt;br /&gt;
[[en:Settings]]&lt;br /&gt;
&lt;br /&gt;
Как и любой другой информации о системе и FreenetIS должны быть возможности различных настроек для пользователя и системы. В настоящее время для этого предназначены две библиотеки:&lt;br /&gt;
&lt;br /&gt;
application / libraries / settings.php (установить через базу данных)&lt;br /&gt;
  system / core  / config.php (для установки через файл конфигурации)&lt;br /&gt;
&lt;br /&gt;
= Исходное состояние =&lt;br /&gt;
&lt;br /&gt;
В первоначальном состоянии Кохана поддерживает только установки  в конфигурационном файле, никаких настроек в базе данных нет. Отсюда следует, что система не  создает формы настройки - Вы тогда вынуждены эти файлы предварительно сгенерировать =&amp;gt; большой риск для безопасности.&lt;br /&gt;
&lt;br /&gt;
= Текущий статус =&lt;br /&gt;
&lt;br /&gt;
Почти все настройки были перенесены в базу данных. В файле конфигурации остались только настройки доступа к базе данных.&lt;br /&gt;
&lt;br /&gt;
= Фактическая реализация =&lt;br /&gt;
&lt;br /&gt;
== Настройки библиотеки ==&lt;br /&gt;
&lt;br /&gt;
Все настройки хранятся в таблице конфигурации базы данных.&lt;br /&gt;
&lt;br /&gt;
=== Переменные ===&lt;br /&gt;
&lt;br /&gt;
==== Контакт ====&lt;br /&gt;
&lt;br /&gt;
==== Валюта ====&lt;br /&gt;
&lt;br /&gt;
- Валюта, которая используется в системе&lt;br /&gt;
&lt;br /&gt;
- Может быть установлена ​​в меню Настройки - Система - Обмен&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': CZK&lt;br /&gt;
&lt;br /&gt;
==== Db_schema_version ====&lt;br /&gt;
&lt;br /&gt;
- Вероятно, наиболее важная переменная - Задает текущую версию схемы базы данных, используемую в [[Autoupdate структуры БД]]&lt;br /&gt;
&lt;br /&gt;
-'''Не может быть установлена пользователем в системе, определяет сама себя'''&lt;br /&gt;
&lt;br /&gt;
==== Дебитор ====&lt;br /&gt;
==== Default_country ====&lt;br /&gt;
- Основная страна, используемая в системе (ID из таблицы стран)&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': 55 (Чехия)&lt;br /&gt;
====Домен====&lt;br /&gt;
&lt;br /&gt;
- Домен, который работает на FreenetIS&lt;br /&gt;
&lt;br /&gt;
- Если ваш адрес FreenetISu &amp;lt;nowiki&amp;gt; http://www.mojedomena.cz/freenetis/ &amp;lt;/ Nowiki&amp;gt;, эта переменная &amp;lt;nowiki&amp;gt; www.mojedomena.cz &amp;lt;/ Nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто (для URL, используя сервер :: HTTP_HOST ())&lt;br /&gt;
&lt;br /&gt;
==== Email_default_email ====&lt;br /&gt;
&lt;br /&gt;
- Электронная почта по умолчанию - все электронные письма, отправленные с FreenetIS будет отправлены с этого адреса&lt;br /&gt;
&lt;br /&gt;
- Может быть установлена ​​в меню Настройки - Система - электронная почта по умолчанию&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': no-reply@freenetis.org&lt;br /&gt;
&lt;br /&gt;
====Email_driver====&lt;br /&gt;
&lt;br /&gt;
- Протокол отправки электронной почты - протокол, по которому будет отправляться электронная почта&lt;br /&gt;
&lt;br /&gt;
- Возможные варианты - родной (с использованием PHP), SMTP и Sendmail&lt;br /&gt;
&lt;br /&gt;
- Установить в настройках - Электронная почта - Протокол&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': родной&lt;br /&gt;
&lt;br /&gt;
====Email_hostname====&lt;br /&gt;
&lt;br /&gt;
- SMTP хост-сервера&lt;br /&gt;
&lt;br /&gt;
- Учитывается только тогда, когда установлен SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Установить в настройках - Электронная почта - Имя хоста&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====Email_port====&lt;br /&gt;
&lt;br /&gt;
- Порт сервера SMTP&lt;br /&gt;
&lt;br /&gt;
- Учитывается только тогда, когда установлен SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Установить в настройках - Электронная почта - Порт&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': 25&lt;br /&gt;
&lt;br /&gt;
====EMAIL_PASSWORD====&lt;br /&gt;
&lt;br /&gt;
- Пароль для хост-сервера SMTP&lt;br /&gt;
&lt;br /&gt;
- Учитывается только тогда, когда установлен SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Установить в настройках - E-MAIL - Пароль&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====email_username====&lt;br /&gt;
&lt;br /&gt;
- Имя пользователя для доступа к SMTP хост-серверу&lt;br /&gt;
&lt;br /&gt;
- Учитывается только тогда, когда установлен SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Установить в настройках - Электронная почта - имя пользователя&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====шлюз====&lt;br /&gt;
&lt;br /&gt;
====index_page====&lt;br /&gt;
&lt;br /&gt;
- Логическая переменная, будет ли отображается index.php в URL&lt;br /&gt;
&lt;br /&gt;
- 1 =&amp;gt; будет отображаться, 0 =&amp;gt; не будет отображаться&lt;br /&gt;
&lt;br /&gt;
- Может быть установлена ​​в меню Настройки - Система - Чистый URL (через отрицание)&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''' 1&lt;br /&gt;
&lt;br /&gt;
====информация====&lt;br /&gt;
&lt;br /&gt;
====Прерывание========&lt;br /&gt;
&lt;br /&gt;
====Map_google_maps_api_key====&lt;br /&gt;
&lt;br /&gt;
- Ключ для Google Maps API, который находится в использовании.&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====Optional_message====&lt;br /&gt;
&lt;br /&gt;
====Payment_notice====&lt;br /&gt;
&lt;br /&gt;
====Протокол====&lt;br /&gt;
&lt;br /&gt;
- Протокол, который работает на FreenetIS&lt;br /&gt;
&lt;br /&gt;
- Если ваш адрес FreenetISu &amp;lt;nowiki&amp;gt; http://www.mojedomena.cz/freenetis/ &amp;lt;/ Nowiki&amp;gt;, эта переменная &amp;lt;nowiki&amp;gt; HTTP &amp;lt;/ Nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто (для URL используется значение HTTP)&lt;br /&gt;
&lt;br /&gt;
====Registration_info====&lt;br /&gt;
&lt;br /&gt;
- Информация, которая появляется поверх экспортируемых приложений&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====Registration_license====&lt;br /&gt;
&lt;br /&gt;
- Лицензионные условия, которые появляются в нижней части экспортированных приложений&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====Self_registration====&lt;br /&gt;
&lt;br /&gt;
- Логическая переменная - следует ли разрешить самостоятельную регистрацию кандидатов в члены&lt;br /&gt;
&lt;br /&gt;
- Может быть установлена ​​в меню Настройки - Система - Самостоятельная регистрация&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''' 1&lt;br /&gt;
&lt;br /&gt;
====суффикс====&lt;br /&gt;
&lt;br /&gt;
- Суффикс домена в URL, где функционирует FreenetIS&lt;br /&gt;
&lt;br /&gt;
- Если ваш адрес FreenetISu &amp;lt;nowiki&amp;gt; http://www.mojedomena.cz/freenetis/ &amp;lt;/ Nowiki&amp;gt;, эта переменная &amp;lt;nowiki&amp;gt; / freenetis / &amp;lt;/ Nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Всегда должно начинаться и заканчиваться косой чертой (может быть /)&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто (для URL затем используется SUBSTR (Server :: SCRIPT_NAME (), 0, -9))&lt;br /&gt;
&lt;br /&gt;
====title====&lt;br /&gt;
&lt;br /&gt;
- Название страницы, которая появляется в заголовке (внутри HTML атрибут названия)&lt;br /&gt;
&lt;br /&gt;
- Может быть установлена ​​в меню Настройки - Система - Название страницы&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': FreenetIS&lt;br /&gt;
&lt;br /&gt;
====неизвестное устройство====&lt;br /&gt;
&lt;br /&gt;
====Загрузочный каталог====&lt;br /&gt;
&lt;br /&gt;
- Задает каталог для загрузки файлов (импорт, и т.д.)&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''' upload&lt;br /&gt;
&lt;br /&gt;
====Use_javascript====&lt;br /&gt;
&lt;br /&gt;
- Логическая переменная, используется ли JavaScript&lt;br /&gt;
&lt;br /&gt;
- Устаревшая, в будущем будет удалена&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''' 1&lt;br /&gt;
====Voip_billing_driver====&lt;br /&gt;
- Переменная определяющая  драйвер для VoIP&lt;br /&gt;
&lt;br /&gt;
- В настоящее время поддерживаются только драйвер от NFX  z.s.p.o.&lt;br /&gt;
 для VOIP решения&lt;br /&gt;
-'' 'По умолчанию''' 0&lt;br /&gt;
&lt;br /&gt;
====voip_billing_partner====&lt;br /&gt;
&lt;br /&gt;
- Переменная содержит имя пользователя для входа в биллинг&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''' пусто&lt;br /&gt;
&lt;br /&gt;
====Voip_billing_password====&lt;br /&gt;
- Переменная содержит пароль пользователя для входа в биллинг&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''' пусто&lt;br /&gt;
&lt;br /&gt;
====Voip_number_exclude====&lt;br /&gt;
- Переменная содержит девятизначные числа, разделенные точкой с запятой (;)&lt;br /&gt;
&lt;br /&gt;
- Показатели, представленные в этом списке не предлагаются для выбора для регистрации счета VoIP&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''' пусто&lt;br /&gt;
&lt;br /&gt;
====voip_number_interval====&lt;br /&gt;
- Переменная содержит девять-значное число в диапазоне по шаблону XXXXXXXXX XXXXXXXXX&lt;br /&gt;
&lt;br /&gt;
- Показатели, представленные в этом списке на выбор предлагаются для регистрации счета VoIP&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''' пусто&lt;br /&gt;
&lt;br /&gt;
====Voip_sip_server====&lt;br /&gt;
- Переменная содержит строку с сервера SIP хоста. Например. sip.slfree.czf&lt;br /&gt;
&lt;br /&gt;
- Появляется в VoIP счете в качестве дополнительной информации. Это не имеет никакого влияния на панель управления.&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====Website_after_redirection====&lt;br /&gt;
&lt;br /&gt;
===Методы====&lt;br /&gt;
&lt;br /&gt;
Вся библиотека содержит только два метода - устанавки и получения.&lt;br /&gt;
&lt;br /&gt;
Контроллер и виды (views) используются для динамического доступа - в верхней части контроллера создается экземпляр библиотеки:&lt;br /&gt;
&lt;br /&gt;
  $ this-&amp;gt; settings = new Settings();&lt;br /&gt;
&lt;br /&gt;
и затем, как значение переменной суффикс получают следующим образом:&lt;br /&gt;
&lt;br /&gt;
  $ this-&amp;gt; settings-&amp;gt;get('suffix');&lt;br /&gt;
&lt;br /&gt;
В другом приложении (помощники и т.д.) должны использовать статический подход:&lt;br /&gt;
&lt;br /&gt;
   $suffix = Settings::get('suffix');&lt;br /&gt;
&lt;br /&gt;
====Получить====&lt;br /&gt;
&lt;br /&gt;
- Возвращает значение, определяемое ключом&lt;br /&gt;
&lt;br /&gt;
- Если он находит непустое значение, возвращает его&lt;br /&gt;
&lt;br /&gt;
- Если он находит нулевое значение или возникает непредвиденная ошибка, проверяет, есть ли частный атрибут с таким же названием (т.е. по умолчанию)&lt;br /&gt;
&lt;br /&gt;
- Если он существует, возвращает его&lt;br /&gt;
&lt;br /&gt;
- Если есть, попытаться вернуть то же имя переменной из конфигурации (конфигурационного файла)&lt;br /&gt;
&lt;br /&gt;
====установить====&lt;br /&gt;
&lt;br /&gt;
- Установка входных переменных с заданными ключами&lt;br /&gt;
&lt;br /&gt;
- Если возникает непредвиденная ошибка, возвращает ошибку&lt;br /&gt;
&lt;br /&gt;
- Иначе, если переменная уже существует в базе данных, обновляет ее&lt;br /&gt;
&lt;br /&gt;
- Если переменной в базе данных не существует, пытается создать ее&lt;br /&gt;
&lt;br /&gt;
==Библиотека Config==&lt;br /&gt;
&lt;br /&gt;
Это те параметры, которые записываются в файл конфигурации config.php.&lt;br /&gt;
&lt;br /&gt;
Это, однако, только с переменные параметров подключения к базе данных.&lt;br /&gt;
&lt;br /&gt;
===Переменные===&lt;br /&gt;
&lt;br /&gt;
====Db_type====&lt;br /&gt;
&lt;br /&gt;
- Тип базы данных (MySQL, PgSQL)&lt;br /&gt;
&lt;br /&gt;
- Тем не менее, поддерживается только MySQL&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': MySQL&lt;br /&gt;
&lt;br /&gt;
====DB_NAME====&lt;br /&gt;
&lt;br /&gt;
- Имя базы данных FreenetIS&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': freenetis&lt;br /&gt;
&lt;br /&gt;
====DB_HOST====&lt;br /&gt;
&lt;br /&gt;
- Адрес хоста, на котором будет работать FreenetIS&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': local&lt;br /&gt;
&lt;br /&gt;
====DB_USER====&lt;br /&gt;
&lt;br /&gt;
- Имя пользователя для подключения к базе данных&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': freenetis&lt;br /&gt;
&lt;br /&gt;
====DB_PASSWORD====&lt;br /&gt;
&lt;br /&gt;
- Пароль пользователя для подключения к базе данных&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': freenetis&lt;br /&gt;
&lt;br /&gt;
====Db_table_prefix====&lt;br /&gt;
&lt;br /&gt;
- Префикс для таблиц FreenetIS&lt;br /&gt;
&lt;br /&gt;
- Полезно, если вы ,будете  использовать общую базу данных для FreenetIS и для других проектов&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
===Методы===&lt;br /&gt;
&lt;br /&gt;
В отличие от настройки библиотек используется только статический подход:&lt;br /&gt;
&lt;br /&gt;
  DB_NAME = $ Config :: get ('db_name')&lt;br /&gt;
&lt;br /&gt;
====Получить====&lt;br /&gt;
&lt;br /&gt;
- Возвращает значение из файла конфигурации, в соответствии с указанным ключом&lt;br /&gt;
&lt;br /&gt;
====Установить====&lt;br /&gt;
&lt;br /&gt;
- Установите нужное значение для указанного ключа&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8&amp;diff=2122</id>
		<title>Настройки</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8&amp;diff=2122"/>
				<updated>2013-12-10T12:24:11Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs:Nastavení en:Settings  EN: Настройки Как и любой другой информации о системе и FreenetIS должны быть в...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Nastavení]]&lt;br /&gt;
[[en:Settings]]&lt;br /&gt;
&lt;br /&gt;
[[EN: Настройки]]&lt;br /&gt;
Как и любой другой информации о системе и FreenetIS должны быть возможности различных настроек для пользователя и системы. В настоящее время для этого предназначены две библиотеки:&lt;br /&gt;
&lt;br /&gt;
application / libraries / settings.php (установить через базу данных)&lt;br /&gt;
  system / core  / config.php (для установки через файл конфигурации)&lt;br /&gt;
&lt;br /&gt;
= Исходное состояние =&lt;br /&gt;
&lt;br /&gt;
В первоначальном состоянии Кохана поддерживает только установки  в конфигурационном файле, никаких настроек в базе данных нет. Отсюда следует, что система не  создает формы настройки - Вы тогда вынуждены эти файлы предварительно сгенерировать =&amp;gt; большой риск для безопасности.&lt;br /&gt;
&lt;br /&gt;
= Текущий статус =&lt;br /&gt;
&lt;br /&gt;
Почти все настройки были перенесены в базу данных. В файле конфигурации остались только настройки доступа к базе данных.&lt;br /&gt;
&lt;br /&gt;
= Фактическая реализация =&lt;br /&gt;
&lt;br /&gt;
== Настройки библиотеки ==&lt;br /&gt;
&lt;br /&gt;
Все настройки хранятся в таблице конфигурации базы данных.&lt;br /&gt;
&lt;br /&gt;
=== Переменные ===&lt;br /&gt;
&lt;br /&gt;
==== Контакт ====&lt;br /&gt;
&lt;br /&gt;
==== Валюта ====&lt;br /&gt;
&lt;br /&gt;
- Валюта, которая используется в системе&lt;br /&gt;
&lt;br /&gt;
- Может быть установлена ​​в меню Настройки - Система - Обмен&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': CZK&lt;br /&gt;
&lt;br /&gt;
==== Db_schema_version ====&lt;br /&gt;
&lt;br /&gt;
- Вероятно, наиболее важная переменная - Задает текущую версию схемы базы данных, используемую в [[Autoupdate структуры БД]]&lt;br /&gt;
&lt;br /&gt;
-'''Не может быть установлена пользователем в системе, определяет сама себя'''&lt;br /&gt;
&lt;br /&gt;
==== Дебитор ====&lt;br /&gt;
==== Default_country ====&lt;br /&gt;
- Основная страна, используемая в системе (ID из таблицы стран)&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': 55 (Чехия)&lt;br /&gt;
====Домен====&lt;br /&gt;
&lt;br /&gt;
- Домен, который работает на FreenetIS&lt;br /&gt;
&lt;br /&gt;
- Если ваш адрес FreenetISu &amp;lt;nowiki&amp;gt; http://www.mojedomena.cz/freenetis/ &amp;lt;/ Nowiki&amp;gt;, эта переменная &amp;lt;nowiki&amp;gt; www.mojedomena.cz &amp;lt;/ Nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто (для URL, используя сервер :: HTTP_HOST ())&lt;br /&gt;
&lt;br /&gt;
==== Email_default_email ====&lt;br /&gt;
&lt;br /&gt;
- Электронная почта по умолчанию - все электронные письма, отправленные с FreenetIS будет отправлены с этого адреса&lt;br /&gt;
&lt;br /&gt;
- Может быть установлена ​​в меню Настройки - Система - электронная почта по умолчанию&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': no-reply@freenetis.org&lt;br /&gt;
&lt;br /&gt;
====Email_driver====&lt;br /&gt;
&lt;br /&gt;
- Протокол отправки электронной почты - протокол, по которому будет отправляться электронная почта&lt;br /&gt;
&lt;br /&gt;
- Возможные варианты - родной (с использованием PHP), SMTP и Sendmail&lt;br /&gt;
&lt;br /&gt;
- Установить в настройках - Электронная почта - Протокол&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': родной&lt;br /&gt;
&lt;br /&gt;
====Email_hostname====&lt;br /&gt;
&lt;br /&gt;
- SMTP хост-сервера&lt;br /&gt;
&lt;br /&gt;
- Учитывается только тогда, когда установлен SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Установить в настройках - Электронная почта - Имя хоста&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====Email_port====&lt;br /&gt;
&lt;br /&gt;
- Порт сервера SMTP&lt;br /&gt;
&lt;br /&gt;
- Учитывается только тогда, когда установлен SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Установить в настройках - Электронная почта - Порт&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': 25&lt;br /&gt;
&lt;br /&gt;
====EMAIL_PASSWORD====&lt;br /&gt;
&lt;br /&gt;
- Пароль для хост-сервера SMTP&lt;br /&gt;
&lt;br /&gt;
- Учитывается только тогда, когда установлен SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Установить в настройках - E-MAIL - Пароль&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====email_username====&lt;br /&gt;
&lt;br /&gt;
- Имя пользователя для доступа к SMTP хост-серверу&lt;br /&gt;
&lt;br /&gt;
- Учитывается только тогда, когда установлен SMTP email_driver&lt;br /&gt;
&lt;br /&gt;
- Установить в настройках - Электронная почта - имя пользователя&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====шлюз====&lt;br /&gt;
&lt;br /&gt;
====index_page====&lt;br /&gt;
&lt;br /&gt;
- Логическая переменная, будет ли отображается index.php в URL&lt;br /&gt;
&lt;br /&gt;
- 1 =&amp;gt; будет отображаться, 0 =&amp;gt; не будет отображаться&lt;br /&gt;
&lt;br /&gt;
- Может быть установлена ​​в меню Настройки - Система - Чистый URL (через отрицание)&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''' 1&lt;br /&gt;
&lt;br /&gt;
====информация====&lt;br /&gt;
&lt;br /&gt;
====Прерывание========&lt;br /&gt;
&lt;br /&gt;
====Map_google_maps_api_key====&lt;br /&gt;
&lt;br /&gt;
- Ключ для Google Maps API, который находится в использовании.&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====Optional_message====&lt;br /&gt;
&lt;br /&gt;
====Payment_notice====&lt;br /&gt;
&lt;br /&gt;
====Протокол====&lt;br /&gt;
&lt;br /&gt;
- Протокол, который работает на FreenetIS&lt;br /&gt;
&lt;br /&gt;
- Если ваш адрес FreenetISu &amp;lt;nowiki&amp;gt; http://www.mojedomena.cz/freenetis/ &amp;lt;/ Nowiki&amp;gt;, эта переменная &amp;lt;nowiki&amp;gt; HTTP &amp;lt;/ Nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто (для URL используется значение HTTP)&lt;br /&gt;
&lt;br /&gt;
====Registration_info====&lt;br /&gt;
&lt;br /&gt;
- Информация, которая появляется поверх экспортируемых приложений&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====Registration_license====&lt;br /&gt;
&lt;br /&gt;
- Лицензионные условия, которые появляются в нижней части экспортированных приложений&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====Self_registration====&lt;br /&gt;
&lt;br /&gt;
- Логическая переменная - следует ли разрешить самостоятельную регистрацию кандидатов в члены&lt;br /&gt;
&lt;br /&gt;
- Может быть установлена ​​в меню Настройки - Система - Самостоятельная регистрация&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''' 1&lt;br /&gt;
&lt;br /&gt;
====суффикс====&lt;br /&gt;
&lt;br /&gt;
- Суффикс домена в URL, где функционирует FreenetIS&lt;br /&gt;
&lt;br /&gt;
- Если ваш адрес FreenetISu &amp;lt;nowiki&amp;gt; http://www.mojedomena.cz/freenetis/ &amp;lt;/ Nowiki&amp;gt;, эта переменная &amp;lt;nowiki&amp;gt; / freenetis / &amp;lt;/ Nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Всегда должно начинаться и заканчиваться косой чертой (может быть /)&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто (для URL затем используется SUBSTR (Server :: SCRIPT_NAME (), 0, -9))&lt;br /&gt;
&lt;br /&gt;
====title====&lt;br /&gt;
&lt;br /&gt;
- Название страницы, которая появляется в заголовке (внутри HTML атрибут названия)&lt;br /&gt;
&lt;br /&gt;
- Может быть установлена ​​в меню Настройки - Система - Название страницы&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': FreenetIS&lt;br /&gt;
&lt;br /&gt;
====неизвестное устройство====&lt;br /&gt;
&lt;br /&gt;
====Загрузочный каталог====&lt;br /&gt;
&lt;br /&gt;
- Задает каталог для загрузки файлов (импорт, и т.д.)&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''' upload&lt;br /&gt;
&lt;br /&gt;
====Use_javascript====&lt;br /&gt;
&lt;br /&gt;
- Логическая переменная, используется ли JavaScript&lt;br /&gt;
&lt;br /&gt;
- Устаревшая, в будущем будет удалена&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''' 1&lt;br /&gt;
====Voip_billing_driver====&lt;br /&gt;
- Переменная определяющая  драйвер для VoIP&lt;br /&gt;
&lt;br /&gt;
- В настоящее время поддерживаются только драйвер от NFX  z.s.p.o.&lt;br /&gt;
 для VOIP решения&lt;br /&gt;
-'' 'По умолчанию''' 0&lt;br /&gt;
&lt;br /&gt;
====voip_billing_partner====&lt;br /&gt;
&lt;br /&gt;
- Переменная содержит имя пользователя для входа в биллинг&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''' пусто&lt;br /&gt;
&lt;br /&gt;
====Voip_billing_password====&lt;br /&gt;
- Переменная содержит пароль пользователя для входа в биллинг&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''' пусто&lt;br /&gt;
&lt;br /&gt;
====Voip_number_exclude====&lt;br /&gt;
- Переменная содержит девятизначные числа, разделенные точкой с запятой (;)&lt;br /&gt;
&lt;br /&gt;
- Показатели, представленные в этом списке не предлагаются для выбора для регистрации счета VoIP&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''' пусто&lt;br /&gt;
&lt;br /&gt;
====voip_number_interval====&lt;br /&gt;
- Переменная содержит девять-значное число в диапазоне по шаблону XXXXXXXXX XXXXXXXXX&lt;br /&gt;
&lt;br /&gt;
- Показатели, представленные в этом списке на выбор предлагаются для регистрации счета VoIP&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''' пусто&lt;br /&gt;
&lt;br /&gt;
====Voip_sip_server====&lt;br /&gt;
- Переменная содержит строку с сервера SIP хоста. Например. sip.slfree.czf&lt;br /&gt;
&lt;br /&gt;
- Появляется в VoIP счете в качестве дополнительной информации. Это не имеет никакого влияния на панель управления.&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
====Website_after_redirection====&lt;br /&gt;
&lt;br /&gt;
===Методы====&lt;br /&gt;
&lt;br /&gt;
Вся библиотека содержит только два метода - устанавки и получения.&lt;br /&gt;
&lt;br /&gt;
Контроллер и виды (views) используются для динамического доступа - в верхней части контроллера создается экземпляр библиотеки:&lt;br /&gt;
&lt;br /&gt;
  $ this-&amp;gt; settings = new Settings();&lt;br /&gt;
&lt;br /&gt;
и затем, как значение переменной суффикс получают следующим образом:&lt;br /&gt;
&lt;br /&gt;
  $ this-&amp;gt; settings-&amp;gt;get('suffix');&lt;br /&gt;
&lt;br /&gt;
В другом приложении (помощники и т.д.) должны использовать статический подход:&lt;br /&gt;
&lt;br /&gt;
   $suffix = Settings::get('suffix');&lt;br /&gt;
&lt;br /&gt;
====Получить====&lt;br /&gt;
&lt;br /&gt;
- Возвращает значение, определяемое ключом&lt;br /&gt;
&lt;br /&gt;
- Если он находит непустое значение, возвращает его&lt;br /&gt;
&lt;br /&gt;
- Если он находит нулевое значение или возникает непредвиденная ошибка, проверяет, есть ли частный атрибут с таким же названием (т.е. по умолчанию)&lt;br /&gt;
&lt;br /&gt;
- Если он существует, возвращает его&lt;br /&gt;
&lt;br /&gt;
- Если есть, попытаться вернуть то же имя переменной из конфигурации (конфигурационного файла)&lt;br /&gt;
&lt;br /&gt;
====установить====&lt;br /&gt;
&lt;br /&gt;
- Установка входных переменных с заданными ключами&lt;br /&gt;
&lt;br /&gt;
- Если возникает непредвиденная ошибка, возвращает ошибку&lt;br /&gt;
&lt;br /&gt;
- Иначе, если переменная уже существует в базе данных, обновляет ее&lt;br /&gt;
&lt;br /&gt;
- Если переменной в базе данных не существует, пытается создать ее&lt;br /&gt;
&lt;br /&gt;
==Библиотека Config==&lt;br /&gt;
&lt;br /&gt;
Это те параметры, которые записываются в файл конфигурации config.php.&lt;br /&gt;
&lt;br /&gt;
Это, однако, только с переменные параметров подключения к базе данных.&lt;br /&gt;
&lt;br /&gt;
===Переменные===&lt;br /&gt;
&lt;br /&gt;
====Db_type====&lt;br /&gt;
&lt;br /&gt;
- Тип базы данных (MySQL, PgSQL)&lt;br /&gt;
&lt;br /&gt;
- Тем не менее, поддерживается только MySQL&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': MySQL&lt;br /&gt;
&lt;br /&gt;
====DB_NAME====&lt;br /&gt;
&lt;br /&gt;
- Имя базы данных FreenetIS&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': freenetis&lt;br /&gt;
&lt;br /&gt;
====DB_HOST====&lt;br /&gt;
&lt;br /&gt;
- Адрес хоста, на котором будет работать FreenetIS&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': local&lt;br /&gt;
&lt;br /&gt;
====DB_USER====&lt;br /&gt;
&lt;br /&gt;
- Имя пользователя для подключения к базе данных&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': freenetis&lt;br /&gt;
&lt;br /&gt;
====DB_PASSWORD====&lt;br /&gt;
&lt;br /&gt;
- Пароль пользователя для подключения к базе данных&lt;br /&gt;
&lt;br /&gt;
-'''По умолчанию''': freenetis&lt;br /&gt;
&lt;br /&gt;
====Db_table_prefix====&lt;br /&gt;
&lt;br /&gt;
- Префикс для таблиц FreenetIS&lt;br /&gt;
&lt;br /&gt;
- Полезно, если вы ,будете  использовать общую базу данных для FreenetIS и для других проектов&lt;br /&gt;
&lt;br /&gt;
-'' 'По умолчанию''': пусто&lt;br /&gt;
&lt;br /&gt;
===Методы===&lt;br /&gt;
&lt;br /&gt;
В отличие от настройки библиотек используется только статический подход:&lt;br /&gt;
&lt;br /&gt;
  DB_NAME = $ Config :: get ('db_name')&lt;br /&gt;
&lt;br /&gt;
====Получить====&lt;br /&gt;
&lt;br /&gt;
- Возвращает значение из файла конфигурации, в соответствии с указанным ключом&lt;br /&gt;
&lt;br /&gt;
====Установить====&lt;br /&gt;
&lt;br /&gt;
- Установите нужное значение для указанного ключа&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Nastaven%C3%AD&amp;diff=2121</id>
		<title>Nastavení</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Nastaven%C3%AD&amp;diff=2121"/>
				<updated>2013-12-10T12:15:57Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Settings]]&lt;br /&gt;
[[ru:Настройки]]&lt;br /&gt;
&lt;br /&gt;
Jako každý jiný informační systém i FreenetIS musí mít možnost různých nastavení, jak uživatelských, tak i systémových. V současné době se o to starají dvě knihovny:&lt;br /&gt;
&lt;br /&gt;
 application/libraries/settings.php (pro nastavení skrze databázi)&lt;br /&gt;
 system/core/config.php (pro nastavení skrze konfigurační soubor)&lt;br /&gt;
&lt;br /&gt;
= Původní stav =&lt;br /&gt;
&lt;br /&gt;
V původním stavu framework Kohana podporoval pouze nastavení přes konfigurační soubory, žádné nastavení přes databázi neexistovaly. Z toho plyne, že v systému nešly vytvářet formulář pro nastavení - ty by pak totiž musely tyto soubory přegenerovávat =&amp;gt; velké bezpečnostní riziko.&lt;br /&gt;
&lt;br /&gt;
= Současný stav =&lt;br /&gt;
&lt;br /&gt;
Takřka veškerá nastavení byla přesunuta do databáze, v konfiguračním souboru zůstaly pouze přístupové údaje k databázi.&lt;br /&gt;
&lt;br /&gt;
= Samotná implementace =&lt;br /&gt;
&lt;br /&gt;
== Knihovna Settings ==&lt;br /&gt;
&lt;br /&gt;
Všechna nastavení se ukládají do databázové tabulky Config.&lt;br /&gt;
&lt;br /&gt;
=== Proměnné ===&lt;br /&gt;
&lt;br /&gt;
====contact====&lt;br /&gt;
&lt;br /&gt;
====currency====&lt;br /&gt;
&lt;br /&gt;
- měna, které se bude používat v systému&lt;br /&gt;
&lt;br /&gt;
- nastavuje se v Nastavení - Systém - Měna&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': CZK&lt;br /&gt;
&lt;br /&gt;
====db_schema_version====&lt;br /&gt;
&lt;br /&gt;
- zřejmě nejdůležitější proměnná - určuje aktuální revizi databázového schématu, používá se pří [[Autoupdate DB struktury]]&lt;br /&gt;
&lt;br /&gt;
- '''nelze nastavit uživatelem v systému, určuje se sama'''&lt;br /&gt;
&lt;br /&gt;
====debtor====&lt;br /&gt;
====default_country====&lt;br /&gt;
- základní země užívaná v systému (id z tabulky countries)&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': 55 (Czech Republic)&lt;br /&gt;
====domain====&lt;br /&gt;
&lt;br /&gt;
- doména, na kterém poběží FreenetIS&lt;br /&gt;
&lt;br /&gt;
- pokud je vaše adresa FreenetISu &amp;lt;nowiki&amp;gt;http://www.mojedomena.cz/freenetis/&amp;lt;/nowiki&amp;gt;, bude tato proměnná &amp;lt;nowiki&amp;gt;www.mojedomena.cz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': prázdná (pro vytvoření URL se pak používá server::http_host())&lt;br /&gt;
&lt;br /&gt;
====email_default_email====&lt;br /&gt;
&lt;br /&gt;
- výchozí e-mail - na všech e-mailech odeslaných z FreenetISu bude jako odesílatel uvedena tato adresa&lt;br /&gt;
&lt;br /&gt;
- nastavuje se v Nastavení - Systém - Výchozí e-mail&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': no-reply@freenetis.org&lt;br /&gt;
&lt;br /&gt;
====email_driver====&lt;br /&gt;
&lt;br /&gt;
- ovladač posílání e-mailu - způsob, jakým se budou odesílat e-maily&lt;br /&gt;
&lt;br /&gt;
- možné možnosti - nativní (pomocí funkce php mail), SMTP a Sendmail&lt;br /&gt;
&lt;br /&gt;
- nastavuje se v Nastavení - E-mail - Ovladač&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': nativní&lt;br /&gt;
&lt;br /&gt;
====email_hostname====&lt;br /&gt;
&lt;br /&gt;
- hostitel SMTP serveru&lt;br /&gt;
&lt;br /&gt;
- bere se v potaz, pouze pokud je email_driver nastaven na SMTP&lt;br /&gt;
&lt;br /&gt;
- nastavuje se v Nastavení - E-mail - Název hostitele&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': prázdná&lt;br /&gt;
&lt;br /&gt;
====email_port====&lt;br /&gt;
&lt;br /&gt;
- port SMTP serveru&lt;br /&gt;
&lt;br /&gt;
- bere se v potaz, pouze pokud je email_driver nastaven na SMTP&lt;br /&gt;
&lt;br /&gt;
- nastavuje se v Nastavení - E-mail - Port&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': 25&lt;br /&gt;
&lt;br /&gt;
====email_password====&lt;br /&gt;
&lt;br /&gt;
- heslo pro přístup na hostitele SMTP serveru&lt;br /&gt;
&lt;br /&gt;
- bere se v potaz, pouze pokud je email_driver nastaven na SMTP&lt;br /&gt;
&lt;br /&gt;
- nastavuje se v Nastavení - E-mail - Heslo&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': prázdná&lt;br /&gt;
&lt;br /&gt;
====email_username====&lt;br /&gt;
&lt;br /&gt;
- uživatelské jméno pro přístup na hostitele SMTP serveru&lt;br /&gt;
&lt;br /&gt;
- bere se v potaz, pouze pokud je email_driver nastaven na SMTP&lt;br /&gt;
&lt;br /&gt;
- nastavuje se v Nastavení - E-mail - Uživatelské jméno&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': prázdná&lt;br /&gt;
&lt;br /&gt;
====gateway====&lt;br /&gt;
&lt;br /&gt;
====index_page====&lt;br /&gt;
&lt;br /&gt;
- logická proměnná, zda-se má v URL zobrazovat index.php&lt;br /&gt;
&lt;br /&gt;
- 1 =&amp;gt; bude se zobrazovat, 0=&amp;gt; nebude se zobrazit&lt;br /&gt;
&lt;br /&gt;
- nastavuje se v Nastavení - Systém - Čistá URL (přes negaci)&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': 1&lt;br /&gt;
&lt;br /&gt;
====info====&lt;br /&gt;
&lt;br /&gt;
====interrupt====&lt;br /&gt;
&lt;br /&gt;
====map_google_maps_api_key====&lt;br /&gt;
&lt;br /&gt;
- klíč pro Google maps API, které se v is využívají.&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': prázdná&lt;br /&gt;
&lt;br /&gt;
====optional_message====&lt;br /&gt;
&lt;br /&gt;
====payment_notice====&lt;br /&gt;
&lt;br /&gt;
====protocol====&lt;br /&gt;
&lt;br /&gt;
- protokol, na kterém poběží FreenetIS&lt;br /&gt;
&lt;br /&gt;
- pokud je vaše adresa FreenetISu &amp;lt;nowiki&amp;gt;http://www.mojedomena.cz/freenetis/&amp;lt;/nowiki&amp;gt;, bude tato proměnná &amp;lt;nowiki&amp;gt;http&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': prázdná (pro vytvoření URL se pak používá hodnota http)&lt;br /&gt;
&lt;br /&gt;
====registration_info====&lt;br /&gt;
&lt;br /&gt;
- informace, které se zobrazí na vyexportované přihlášce na horní části&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': prázdná&lt;br /&gt;
&lt;br /&gt;
====registration_license====&lt;br /&gt;
&lt;br /&gt;
- licenční podmínky, které se zobrazí na vyexportované přihlášce na dolní části&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': prázdná&lt;br /&gt;
&lt;br /&gt;
====self_registration====&lt;br /&gt;
&lt;br /&gt;
- logické proměnná, zda-li povolit samo-registraci zájemců o členství&lt;br /&gt;
&lt;br /&gt;
- nastavuje se v Nastavení - Systém - Samo-registrace&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': 1&lt;br /&gt;
&lt;br /&gt;
====suffix====&lt;br /&gt;
&lt;br /&gt;
- přípona za doménou v URL, na které běží FreenetIS&lt;br /&gt;
&lt;br /&gt;
- pokud je vaše adresa FreenetISu &amp;lt;nowiki&amp;gt;http://www.mojedomena.cz/freenetis/&amp;lt;/nowiki&amp;gt;, bude tato proměnná &amp;lt;nowiki&amp;gt;/freenetis/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- vždy musí začínat i končit lomítkem (může být i /)&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': prázdná (pro vytvoření URL se pak používá substr(server::script_name(),0,-9))&lt;br /&gt;
&lt;br /&gt;
====title====&lt;br /&gt;
&lt;br /&gt;
- titulek stránky, který se zobrazuje v hlavičce (uvnitř HTML atributu title)&lt;br /&gt;
&lt;br /&gt;
- nastavuje se v Nastavení - Systém - Titulek stránky&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': FreenetIS&lt;br /&gt;
&lt;br /&gt;
====unknown_device====&lt;br /&gt;
&lt;br /&gt;
====upload_directory====&lt;br /&gt;
&lt;br /&gt;
- určuje adresář, do kterého se budou nehrávat soubory (importy, atd.)&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota:''' upload&lt;br /&gt;
&lt;br /&gt;
====use_javascript====&lt;br /&gt;
&lt;br /&gt;
- logická proměnná, zda-li je používán javascript&lt;br /&gt;
&lt;br /&gt;
- zastaralé, v budoucnu bude odstraněno&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': 1&lt;br /&gt;
&lt;br /&gt;
====voip_billing_driver====&lt;br /&gt;
- proměnná obsahuje aktuálně zvolený driver pro VoIP&lt;br /&gt;
&lt;br /&gt;
- momentálně je podporovaný pouze drver pro řešení VOIP od NFX z.s.p.o.&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota:''' 0&lt;br /&gt;
&lt;br /&gt;
====voip_billing_partner====&lt;br /&gt;
&lt;br /&gt;
- proměnná obsahuje uživatelské jméno k přihlášení k billingu&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota:''' prázdná&lt;br /&gt;
&lt;br /&gt;
====voip_billing_password====&lt;br /&gt;
- proměnná obsahuje uživatelské heslo k přihlášení k billingu&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota:''' prázdná&lt;br /&gt;
&lt;br /&gt;
====voip_number_exclude====&lt;br /&gt;
- proměnná obsahuje devíti-místné čísla oddělená středníkem(;)&lt;br /&gt;
&lt;br /&gt;
- čísla uvedená v tomto seznamu nebudou nabídnuta k výberu pro registraci VoIP účtu&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota:''' prázdná&lt;br /&gt;
&lt;br /&gt;
====voip_number_interval====&lt;br /&gt;
- proměnná obsahuje rozsah devítimístných čísel ve tvaru XXXXXXXXX-XXXXXXXXX&lt;br /&gt;
&lt;br /&gt;
- čísla uvedená v tomto seznamu budou nabídnuta k výbeřu pro registraci VoIP ůčtu&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota:''' prázdná&lt;br /&gt;
&lt;br /&gt;
====voip_sip_server====&lt;br /&gt;
- proměnná uchovává řetezec s hostname SIP serveru. Např. sip.slfree.czf&lt;br /&gt;
&lt;br /&gt;
- zobrazuje se v nastavení VoIP účtu jako doplňující informace. Nemá vliv na funkci ústředny.&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': prázdná&lt;br /&gt;
&lt;br /&gt;
====website_after_redirection====&lt;br /&gt;
&lt;br /&gt;
===Metody===&lt;br /&gt;
&lt;br /&gt;
Celá knihovna obsahuje pouze dvě metody - set a get.&lt;br /&gt;
&lt;br /&gt;
V kontrolerech a v pohledech (ve views) se používá dynamický přístup - v záhlaví hlavního kontroleru se vytvoří instance knihovny:&lt;br /&gt;
&lt;br /&gt;
 $this-&amp;gt;settings = new Settings();&lt;br /&gt;
&lt;br /&gt;
a pak např. hodnotu proměnné suffix získáme takto:&lt;br /&gt;
&lt;br /&gt;
 $this-&amp;gt;settings-&amp;gt;get('suffix');&lt;br /&gt;
&lt;br /&gt;
V ostatních místech aplikace (helpers, atd.) se pak musí používat statický přístup:&lt;br /&gt;
&lt;br /&gt;
 $suffix = Settings::get('suffix');&lt;br /&gt;
&lt;br /&gt;
====get====&lt;br /&gt;
&lt;br /&gt;
- vrací hodnotu podle zadaného klíče&lt;br /&gt;
&lt;br /&gt;
- pokud nalezne neprázdnou hodnotu, vrátí ji&lt;br /&gt;
&lt;br /&gt;
- pokud nalezne prázdnou hodnotu nebo nestane neočekávaná chyba, zkontroluje, zda-li existuje stejnojmenný privátní atribut (tj. defaultní hodnota)&lt;br /&gt;
&lt;br /&gt;
- pokud existuje, vrátí jej&lt;br /&gt;
&lt;br /&gt;
- pokud neexistuje, zkusí vrátit stejnojmennou proměnnou z Configu (z konfiguračního souboru)&lt;br /&gt;
&lt;br /&gt;
====set====&lt;br /&gt;
&lt;br /&gt;
- nastaví proměnnou zadanou pomocí klíče na zadanou hodnotu&lt;br /&gt;
&lt;br /&gt;
- pokud nastane neočekávaná chyba, vrátí neúspěch&lt;br /&gt;
&lt;br /&gt;
- jinak pokud proměnná již v databázi existuje, aktualizuje ji&lt;br /&gt;
&lt;br /&gt;
- pokus proměnná v databázi neexistuje, vytvoří ji&lt;br /&gt;
&lt;br /&gt;
== Knihovna Config ==&lt;br /&gt;
&lt;br /&gt;
Jedná se o nastavení, které se zapisují do konfiguračního souboru config.php.&lt;br /&gt;
&lt;br /&gt;
Jde však pouze o proměnné s údaji pro připojení k databázi.&lt;br /&gt;
&lt;br /&gt;
===Proměnné===&lt;br /&gt;
&lt;br /&gt;
====db_type====&lt;br /&gt;
&lt;br /&gt;
- typ databáze (mysql, pgsql)&lt;br /&gt;
&lt;br /&gt;
- zatím je podporováno pouze mysql&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': mysql&lt;br /&gt;
&lt;br /&gt;
====db_name====&lt;br /&gt;
&lt;br /&gt;
- název databáze, na které poběží FreenetIS&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': freenetis&lt;br /&gt;
&lt;br /&gt;
====db_host====&lt;br /&gt;
&lt;br /&gt;
- adresa hostitele, na kterém poběží FreenetIS&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': localhost&lt;br /&gt;
&lt;br /&gt;
====db_user====&lt;br /&gt;
&lt;br /&gt;
- uživatelské jméno pro připojení k databázi&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': freenetis&lt;br /&gt;
&lt;br /&gt;
====db_password====&lt;br /&gt;
&lt;br /&gt;
- uživatelské heslo pro připojení k databázi&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': freenetis&lt;br /&gt;
&lt;br /&gt;
====db_table_prefix====&lt;br /&gt;
&lt;br /&gt;
- předpona pro tabulky FreenetISu&lt;br /&gt;
&lt;br /&gt;
- užitečné, pokud chcete používat společnou databázi pro FreenetIS a jiný projekt&lt;br /&gt;
&lt;br /&gt;
- '''výchozí hodnota''': prázdná&lt;br /&gt;
&lt;br /&gt;
===Metody===&lt;br /&gt;
&lt;br /&gt;
Na rozdíl od knihovny Settings se u této knihovny používá pouze statický přístup:&lt;br /&gt;
&lt;br /&gt;
 $db_name = Config::get('db_name')&lt;br /&gt;
&lt;br /&gt;
====get====&lt;br /&gt;
&lt;br /&gt;
- vrací hodnotu z konfiguračního souboru podle zadaného klíče&lt;br /&gt;
&lt;br /&gt;
====set====&lt;br /&gt;
&lt;br /&gt;
- nastaví zadanou hodnotu na zadaný klíč&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=I18n_(english)&amp;diff=2120</id>
		<title>I18n (english)</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=I18n_(english)&amp;diff=2120"/>
				<updated>2013-12-10T12:14:24Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:I18n]]&lt;br /&gt;
[[ru:I18n (русский)]]&lt;br /&gt;
&lt;br /&gt;
Internationalization in FreenetISu covers two areas:&lt;br /&gt;
* Strings that are contained in the source code - this is done using the language files in i18n&lt;br /&gt;
* Strings in the database - string in the database is usually not necessary to translate. The exceptions are enumerated types - eg types of members, facilities, contacts that you can edit  through a web interface. Since the installation Freenetis contains basic values ​​for these types, it is necessary for them to think about internationalization.&lt;br /&gt;
&lt;br /&gt;
Enumerated types are implemented using two tables:&lt;br /&gt;
&lt;br /&gt;
{| Border = &amp;quot;1&amp;quot; class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
| + Enum_types:&lt;br /&gt;
! id! type_id! value&lt;br /&gt;
| -&lt;br /&gt;
| 1 | | 1 (eg type = member) | | Applicant&lt;br /&gt;
| -&lt;br /&gt;
| 2 | | 1 | | Regular member&lt;br /&gt;
| -&lt;br /&gt;
| 3 | | 1 | | Honorary member&lt;br /&gt;
| -&lt;br /&gt;
| 4 | | 2 (eg = contact type) | | Phone&lt;br /&gt;
| -&lt;br /&gt;
| 5 | | 2 | | ICQ&lt;br /&gt;
| -&lt;br /&gt;
| 6 | | 2 | | Skype&lt;br /&gt;
|}&lt;br /&gt;
Table enum_types contains a listing of all types in the default language (here English is selected)&lt;br /&gt;
&lt;br /&gt;
Translations for each row of enum_types we obtain from the table translations:&lt;br /&gt;
&lt;br /&gt;
{| Border = &amp;quot;1&amp;quot; class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
| + Translations:&lt;br /&gt;
! id! original_term! translated_term! lang&lt;br /&gt;
| -&lt;br /&gt;
| 1 | | Regular member | | Řádný člen | | cs&lt;br /&gt;
| -&lt;br /&gt;
| 2 | | Regular member | | Regular member | | en&lt;br /&gt;
| -&lt;br /&gt;
| 3 | | Regular member | | ordentlich Mitglied | | de&lt;br /&gt;
| -&lt;br /&gt;
| 4 | | Phone | | Phone | | cs&lt;br /&gt;
| -&lt;br /&gt;
| 5 | | Phone | | Phone | | de&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Due to the fact that both tables are interrelated by key, you can use the table translations and translation of terms from other tables than enum_types.&lt;br /&gt;
&lt;br /&gt;
Common query to get id and the corresponding strings for a particular language types of members (type_id = 1):&lt;br /&gt;
&lt;br /&gt;
 SELECT enum_types.id, IFNULL(translations.translated_term,enum_types.value) as value FROM enum_types&lt;br /&gt;
 LEFT JOIN translations on enum_types.value = translations.original_term&lt;br /&gt;
 WHERE enum_types.type_id=1 AND translations.lang=&amp;quot;cs&amp;quot;&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=I18n_(%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&amp;diff=2119</id>
		<title>I18n (русский)</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=I18n_(%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&amp;diff=2119"/>
				<updated>2013-12-10T12:13:32Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs:I18n en:I18n (english)  Интернационализация в FreenetISu охватывает две области: * Строки, которые соде...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:I18n]]&lt;br /&gt;
[[en:I18n (english)]]&lt;br /&gt;
&lt;br /&gt;
Интернационализация в FreenetISu охватывает две области:&lt;br /&gt;
* Строки, которые содержатся в исходном коде - это делается с помощью языковых файлов в i18n&lt;br /&gt;
* Строки в базе данных - строки в базе данных, как правило, не нужно переводить.Исключение - названия типов - например, типы членов, объектов, контакты, которые вы можете редактировать через веб-интерфейс. С момента установки Freenetis содержит основные значения для этих типов, необходимо было бы подумать и об их интернационализации.&lt;br /&gt;
&lt;br /&gt;
Перечисляемые типы реализуются с помощью двух таблиц:&lt;br /&gt;
&lt;br /&gt;
{| border = &amp;quot;1&amp;quot; class= &amp;quot;wikitable&amp;quot;&lt;br /&gt;
| + Enum_types:&lt;br /&gt;
! ID! TYPE_ID! значение&lt;br /&gt;
| -&lt;br /&gt;
| 1 | | 1 (например, тип пользователя =) | | заявитель&lt;br /&gt;
| -&lt;br /&gt;
| 2 | | 1 | | постоянный член&lt;br /&gt;
| -&lt;br /&gt;
| 3 | | 1 | | Почетный член&lt;br /&gt;
| -&lt;br /&gt;
| 4 | | 2 (= в качестве контактного типа) | | телефон&lt;br /&gt;
| -&lt;br /&gt;
| 5 | | 2 | | ICQ&lt;br /&gt;
| -&lt;br /&gt;
| 6 | | 2 | | Skype&lt;br /&gt;
|}&lt;br /&gt;
Таблица enum_types содержит перечень всех типов на языке по умолчанию (здесь выбран английский язык)&lt;br /&gt;
&lt;br /&gt;
Переводы для каждой строки enum_types получаем из таблицы переводы:&lt;br /&gt;
&lt;br /&gt;
{| Border = &amp;quot;1&amp;quot; class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
| + Translations:&lt;br /&gt;
! id! original_term! translated_term! lang&lt;br /&gt;
| -&lt;br /&gt;
| 1 | | Regular member | | Řádný člen | | cs&lt;br /&gt;
| -&lt;br /&gt;
| 2 | | Regular member | | Regular member | | en&lt;br /&gt;
| -&lt;br /&gt;
| 3 | | Regular member | | ordentlich Mitglied | | de&lt;br /&gt;
| -&lt;br /&gt;
| 4 | | Phone | | Phone | | cs&lt;br /&gt;
| -&lt;br /&gt;
| 5 | | Phone | | Phone | | de&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
В связи с тем, что обе таблицы взаимосвязаны через ключ, вы можете использовать таблицу переводы и перевод терминов из других таблиц вместо enum_types.&lt;br /&gt;
 SELECT enum_types.id, IFNULL(translations.translated_term,enum_types.value) as value FROM enum_types&lt;br /&gt;
 LEFT JOIN translations on enum_types.value = translations.original_term&lt;br /&gt;
 WHERE enum_types.type_id=1 AND translations.lang=&amp;quot;cs&amp;quot;&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=I18n&amp;diff=2118</id>
		<title>I18n</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=I18n&amp;diff=2118"/>
				<updated>2013-12-10T12:12:34Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:I18n (english)]]&lt;br /&gt;
[[ru:I18n (русский)]]&lt;br /&gt;
&lt;br /&gt;
Internacionalizace ve FreenetISu se týká 2 oblastí:&lt;br /&gt;
&lt;br /&gt;
* řetězců, které jsou obsaženy ve zdrojových kódech - tato se provádí pomocí jazykových souborů v adresáři i18n&lt;br /&gt;
* řetězců v databázi - řetězce v databázi není ve většině případů nutné překládat. Výjimkou jsou výčtové typy - např. typy členů, zařízení, kontaktů, které lze editovat i přes webové rozhraní. Protože instalace Freenetis-u obsahuje základní hodnoty pro tyto typy, bylo nutné pro ně vymyslet i internacionalizaci.&lt;br /&gt;
&lt;br /&gt;
Výčtové typy jsou implementovány pomocí 2 tabulek:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ enum_types: &lt;br /&gt;
! id !! type_id !! value&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 (=např. typ člena) || Applicant&lt;br /&gt;
|- &lt;br /&gt;
|2 || 1 || Regular member&lt;br /&gt;
|- &lt;br /&gt;
|3 || 1 || Honorary member&lt;br /&gt;
|- &lt;br /&gt;
|4 || 2 (=např. typ kontaktu) || Phone&lt;br /&gt;
|- &lt;br /&gt;
|5 || 2 || ICQ&lt;br /&gt;
|- &lt;br /&gt;
|6 || 2 || Skype&lt;br /&gt;
|}&lt;br /&gt;
Tabulka enum_types obsahuje výpis všech typů v defaultním jazyce (zde je zvolena angličtina)&lt;br /&gt;
&lt;br /&gt;
Překlady k jednotlivým řádkům z enum_types budeme získávat z tabulky translations:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ translations: &lt;br /&gt;
! id !! original_term  !! translated_term !! lang&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Regulary member || Řádný člen || cs&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Regulary member || Regular member || en&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Regulary member || Ordentlich Mitglied || de&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Phone || Telefon || cs&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Phone || Telefon || de&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Díky faktu, že obě tabulky nejsou provázané klíči, můžeme použít tabulky translations i na překlady termínů z jiných tabulek než enum_types.&lt;br /&gt;
&lt;br /&gt;
Běžný dotaz pro získání id a jemu odpovídajícího řetězce určitého jazyka pro typy členů (type_id=1):&lt;br /&gt;
&lt;br /&gt;
 SELECT enum_types.id, IFNULL(translations.translated_term,enum_types.value) as value FROM enum_types&lt;br /&gt;
 LEFT JOIN translations on enum_types.value = translations.original_term&lt;br /&gt;
 WHERE enum_types.type_id=1 AND translations.lang=&amp;quot;cs&amp;quot;&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Economy&amp;diff=2117</id>
		<title>Economy</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Economy&amp;diff=2117"/>
				<updated>2013-12-10T12:11:19Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Ekonomika]]&lt;br /&gt;
[[ru:Экономика]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Evidence of contributions is a typical problem for the double-entry bookkeeping. Why? Because [http://en.wikipedia.org/wiki/Double-entry_bookkeeping_system#Timeline at 12.-13. century, when the double-entry  first appeared in written mentions,&amp;amp;nbsp; yet nobody could think of no better and simpler system of internal financial records for any entity (sole trader, NGO, company or a university ...).&lt;br /&gt;
&lt;br /&gt;
The principle of double-entry bookkeeping is really trivial: for every financial transaction you are getting is of the form&lt;br /&gt;
&lt;br /&gt;
   ______________________ Amount ____________________&lt;br /&gt;
  | source binary Account | ----------&amp;gt; | target binary Account |&lt;br /&gt;
  | __________________ |                | _________________ |&lt;br /&gt;
&lt;br /&gt;
Eg. when Franta Siska send being matched by amount of CZK 1,000, it can be dually accounted as follows:&lt;br /&gt;
&lt;br /&gt;
 ______________________    1000 Kč   ____________________&lt;br /&gt;
 |  Franta Siska                    | ----------&amp;gt;| our bank account  |&lt;br /&gt;
 |_____________________|               |________________|&lt;br /&gt;
&lt;br /&gt;
or like this:&lt;br /&gt;
 ______________________ 1000 CZK ____________________&lt;br /&gt;
| Member contributions | ----------&amp;gt; | Credit Franta Siska |&lt;br /&gt;
| _________________ |                 | _______________ |&lt;br /&gt;
&lt;br /&gt;
Note: what is the second way of account &amp;quot;membership fees&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
Money in the double-entry account can not come from &amp;quot;nowhere&amp;quot;, on both sides of the arrow must be some bills.&lt;br /&gt;
&lt;br /&gt;
The advantage of this is that if we all membership fees transferred to one account &amp;quot;Мembership fees&amp;quot; the current state of this account say how many of contributions we chose. Account balance is obtained with a single query in style:&lt;br /&gt;
 SELECT balance FROM accounts WHERE accounts.name=&amp;quot;Мembership fees&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= DB Schema =&lt;br /&gt;
With double-entry accounts we can open up the required accounts&lt;br /&gt;
&lt;br /&gt;
Example: You want to know how much we spend for UTP cables. Therefore create account &amp;quot;UTP cables&amp;quot; and it will convert the amount of each purchase of UTP cable.&lt;br /&gt;
&lt;br /&gt;
In FreenetIS double bills stored in a '''table accounts'''.&lt;br /&gt;
&lt;br /&gt;
After installing FreenetISu accounts table contains only about 5 bills, but over time their numbers are growing, because every paying member is automatically created &amp;quot;his&amp;quot; double account, on which stores his funds.&lt;br /&gt;
&lt;br /&gt;
In FreenetISu member can assigned other double-entry accounts - these are accounts of projects, but about that next time.&lt;br /&gt;
&lt;br /&gt;
Transfers between accounts are double-entry '''table''' '''transfers'''. Its columns are :&lt;br /&gt;
* Origin_id , destination_id : id accounts from the table Accounts&lt;br /&gt;
* Previous_transfer_id : used in complex transactions that consist of multiple transfers. Eg . posting invoices are normally makes two transactions. To make it clear that these two transactions &amp;quot;belong together&amp;quot;  previous_transfer_id in the second point to the first transaction.&lt;br /&gt;
* Member_id :  ID user from which account originates deal. It may seem that this column is not necessary, because in each user's account is also listed member_id.. But keep member_id and transfers in the table is useful in multi- step transfers . Eg . accounting for payment of the membership fee in our association we do in 5 transfers , only one of which targets a credit account member. We want to simply see that the other transfers &amp;quot;caused&amp;quot; this particular member - we could deduce although complicated over previous_transfer_id , but the question , it would be crazy.&lt;br /&gt;
* User_id : user id , which created a binary transfer . In FreenetISu the right of access to economic assign more people so it is important to know which one of them committed the transfer .&lt;br /&gt;
* Type: 1 = regular monthly contribution , 2 = initial contribution , 4 = recharge VOIP credit ...&lt;br /&gt;
* Datetime : date and time of the transaction. Eg . in online banking statement will indicate these date and time. The invoice date there will be a taxable transaction.&lt;br /&gt;
* Creation_datetime : date and time when the transfer was entered into FreenetISu&lt;br /&gt;
* Text , Amount - description of payment and amount&lt;br /&gt;
&lt;br /&gt;
Note for experts of double-entry bookkeeping: table transfers is actually common accounting journal - the same as my grandfather 50 years ago led on the paper ...&lt;br /&gt;
&lt;br /&gt;
==Table account_attributes==&lt;br /&gt;
Speaking thus dually account is a good idea to have our double bills &amp;quot;compatible&amp;quot; with the legislation of our country.&lt;br /&gt;
&lt;br /&gt;
Then the binary states of accounts in FreenetIS instantly start using the pan (s) accounts our organization, because his (her) it saves a lot of work.&lt;br /&gt;
&lt;br /&gt;
To achieve the compatibility of the legislation for each double counting account is necessary to find an appropriate accounting standard account in accordance with the law.&lt;br /&gt;
&lt;br /&gt;
Standard accounts legislation defines as the chart of accounts (Britons have a better term: chart of accounts).&lt;br /&gt;
&lt;br /&gt;
The chart of accounts is a list of possible accounts for the type of organization. For each account in the chart of accounts is defined its standard name, standard number and other attributes.&lt;br /&gt;
&lt;br /&gt;
The chart looks like for nonprofits, a little different for businesses, a little different for government.&lt;br /&gt;
&lt;br /&gt;
In FreenetIS chart of accounts is stored in a table account_attributes as a chart of accounts for non-profits.&amp;amp;nbsp; Other types of charts of accounts (eg business) to deal with installer FreenetIS, but so far nobody wanted.&lt;br /&gt;
&lt;br /&gt;
We probably most interested in which standart accounts will be mapped credit members' accounts?&lt;br /&gt;
&lt;br /&gt;
The dual credit account can be a member by the chart of accounts for non-profit organizations to implement either&lt;br /&gt;
# Sub-standard account &amp;quot;membership fees&amp;quot; (standard number in the chart of accounts = 684,000)&lt;br /&gt;
# Sub-standard account &amp;quot;Bank Accounts&amp;quot; (No. 221000)&lt;br /&gt;
&lt;br /&gt;
In FreenetISu use the second option because it is the same for nonprofits as well as for other entities whose financial chart of any membership fees (684,000) do not know.&lt;br /&gt;
&lt;br /&gt;
More detailed explanation can be found in this presentation:&lt;br /&gt;
* [Http://zamestnanci.fai.utb.cz/ ~ dulik/unart/hospodareni_v1_5.pdf PDF format]&lt;br /&gt;
* [Http://zamestnanci.fai.utb.cz/ ~ dulik/unart/hospodareni_v1_5.odp ODP format]&lt;br /&gt;
&lt;br /&gt;
On slide 13 is shown how the membership fees will be charged in UnArtu (Imported from EBANKA).&lt;br /&gt;
&lt;br /&gt;
=== Types double-entry accounts used when importing from the bank ===&lt;br /&gt;
&lt;br /&gt;
* Account_attribute_Model :: MEMBER_FEES - type &amp;quot;membership dues&amp;quot;&lt;br /&gt;
* Account_attribute_Model :: SUPPLIERS - type &amp;quot;contractors&amp;quot;&lt;br /&gt;
* Account_attribute_Model :: OPERATING - operating account into which all fall uncategorized revenues and expenses Association&lt;br /&gt;
* Account_attribute_Model :: CASH - account for cash payments (cash)&lt;br /&gt;
&lt;br /&gt;
== Evidence bank accounts ==&lt;br /&gt;
Unlike conventional accounting systems (Pohoda, Money S3) FreenetIS has a better record of bank accounts of members - FreenetIS allows you to keep track of each member to its bank accounts. It often helps us to identify payments with poor variability - although many members (= families) pay the wife's bank account, which bears her maiden name (different from the surname of the family), we are able to register through bank accounts instantly know which member is the originator such payments.&lt;br /&gt;
&lt;br /&gt;
Bank accounts recorded in the table'' 'bank_accounts'''.&lt;br /&gt;
&lt;br /&gt;
After installation FreenetIS there will be only bank account of the association.&lt;br /&gt;
&lt;br /&gt;
Other members of the bank accounts automatically creates by import from ebank. For payments that are proper of variable, also importer newly generated by banks. account automatically assigns the owner.&lt;br /&gt;
&lt;br /&gt;
If you want to import bank statements that does not contain bank accounts, then you will have to create account  in the table &amp;quot;bank_accounts&amp;quot; as &amp;quot;unidentified&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Why? See the next chapter:&lt;br /&gt;
&lt;br /&gt;
== Evidence of bank statements ==&lt;br /&gt;
Bank statements recorded in the table '''bank_statement'''.&lt;br /&gt;
&lt;br /&gt;
Each bank statement consists of many banking transactions.&lt;br /&gt;
Banking transactions are transfers between bank accounts.&lt;br /&gt;
Therefore, we record similar to the double-entry transfers between accounts - using the table '''bank_transfers''', which contains the following columns:&lt;br /&gt;
* Origin_id, destination_id: id bank accounts of the table bank_accounts&lt;br /&gt;
* Transfer_id: id double-entry transfer of table transfers. Each bank transfer should be dually recognized ie refer to a double-entry transfer. If you did not recognize some bank transfers, there will be accounting error - status of double-entry account &amp;quot;bank account&amp;quot; will not sit with the actual state bank account&lt;br /&gt;
* Bank_statement_id link to a table of banks&lt;br /&gt;
* Number: Line number or number of the item bank listing&lt;br /&gt;
* Variable_symbol, constant_symbol, specific_symbol - it is probably clear&lt;br /&gt;
* Comment - any comment on the accounting for a payment&lt;br /&gt;
&lt;br /&gt;
Date, time and text payments, we decided not to record in this table, but in the table transfers - because every bank_transfer has always assigned a transfer, they would have the same name, the columns in the table bank_transfers redundant.&lt;br /&gt;
&lt;br /&gt;
= Terminology =&lt;br /&gt;
* The code uses a mixture of English &amp;quot;simply stated&amp;quot; and the official accounting terminology.&lt;br /&gt;
* Official English and the corresponding Czech accounting terminology is described&lt;br /&gt;
In this ** [http://ofirme.info/ofirmeinfo/frame3/zakazky/banka/1/Czech-English% 20Dictionary.doc glossary]&lt;br /&gt;
PhD work in ** Radek Vogel MUNI Brno].&lt;br /&gt;
&lt;br /&gt;
= Import bank statements =&lt;br /&gt;
FreenetIS currently can import HTML listings of ebanka / Raiffeisen banks and any listings in CSV format.&lt;br /&gt;
The largest part of the work in this area represent parsers - especially HTML parser ebanka. Therefore parsers are written so that they have no dependency on the framework Kohana nor FreenetISu - they are completely separate library.&lt;br /&gt;
&lt;br /&gt;
Description of the implementation of the following articles:&lt;br /&gt;
* [[Preparation for the data import]]&lt;br /&gt;
* [[Raiffeisenbank]]&lt;br /&gt;
* [[Fio banka]]&lt;br /&gt;
* [[Saving data to the database]]&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%AD%D0%BA%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D0%BA%D0%B0&amp;diff=2116</id>
		<title>Экономика</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%AD%D0%BA%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D0%BA%D0%B0&amp;diff=2116"/>
				<updated>2013-12-10T12:10:21Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs:Ekonomika en:Economy  = Введение = Подтверждение членских взносов является типичной проблемой для...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Ekonomika]]&lt;br /&gt;
[[en:Economy]]&lt;br /&gt;
&lt;br /&gt;
= Введение =&lt;br /&gt;
Подтверждение членских взносов является типичной проблемой для двойной бухгалтерии. Почему? Потому что http://en.wikipedia.org/wiki/Double-entry_bookkeeping_system# Приблизительно в  12.-13. веке, когда двойная запись впервые появился в письменных упоминаниях,&amp;amp;nbsp; еще никто не cмог придумать лучшей и более простой системы внутренней финансовой отчетности для любого субъекта (индивидуального предпринимателя, НПО, компания или университет ...).&lt;br /&gt;
&lt;br /&gt;
Принцип двойной бухгалтерии довольно прост: для каждой финансовой сделки он имеет вид&lt;br /&gt;
&lt;br /&gt;
______________________ Количество ____________________&lt;br /&gt;
  |Счет-источник | ----------&amp;gt; | Счет-получатель|&lt;br /&gt;
  | ___________ |                 | ______________ |&lt;br /&gt;
&lt;br /&gt;
Например. когда Франта Сиска, печислит ассоциации 1000 крон, то это может отражаться следующим образом:&lt;br /&gt;
&lt;br /&gt;
   ______________________ 1000 крон ____________________&lt;br /&gt;
  | Franta Siska                         | ----------&amp;gt; | Наш  счет в банке|&lt;br /&gt;
  | ______________________ |                 | ______________ |&lt;br /&gt;
&lt;br /&gt;
Или вот так:&lt;br /&gt;
  ______________________ 1000 крон ____________________&lt;br /&gt;
| Клиентское извещение | ----------&amp;gt; | Кредит Franta Siska |&lt;br /&gt;
| ___________________ |                | _______________ |&lt;br /&gt;
&lt;br /&gt;
Примечание: что означает во втором способе учета &amp;quot;клиентское извещение&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
Деньги при двойной записи не могут поступить из “ниоткуда”. Учет должен вестись с обеих сторон.&lt;br /&gt;
&lt;br /&gt;
Преимущество такой запис в том, что если все членские взносы перечисляются на счет &amp;quot;Членские взносы&amp;quot; то текущее состояние этого счета показывает, сколько взносов мы собрали. Баланс счета получается с помощью одного запроса в стиле:&lt;br /&gt;
 SELECT balance FROM accounts WHERE accounts.name=&amp;quot;Членские взносы&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= DB схема =&lt;br /&gt;
При двойном учете мы сами можем открывать нужные счета&lt;br /&gt;
&lt;br /&gt;
Пример: Вы хотите знать, сколько тратите на кабели UTP. Создайте счет &amp;quot;UTP кабели&amp;quot; на котором будут накапливаться все суммы каждой покупки кабеля UTP.&lt;br /&gt;
&lt;br /&gt;
В FreenetIS двойные счета, хранятся в '''таблице счетов'''.&lt;br /&gt;
&lt;br /&gt;
После установки FreenetISu счетов таблица содержит лишь около 5 счетов, но со временем их число растет, потому что каждый платящий пользователь автоматически создает &amp;quot;свой&amp;quot; двойной счет, на ктором хранятся его срадства.&lt;br /&gt;
&lt;br /&gt;
В FreenetISu пользователь может открыть другой счет двойной записи - это счета проектов, но об этом в следующий раз.&lt;br /&gt;
&lt;br /&gt;
Переводы между счетами двойной записи хранятся в '''таблице''' '''переводв'''. Ее столбцы :&lt;br /&gt;
* Origin_id , destination_id : ID счетов из таблицы счетов&lt;br /&gt;
* Previous_transfer_id : ID предыдущей транзакции в сложных операциях, состоящих из нескольких транзакций. Например, движение средств по счету-фактуре отображается двумя транзакциями. Чтобы было понятно, что эти две сделки &amp;quot;должны быть вместе &amp;quot; , установленный во второй транзакции previous_transfer_id и указывать на первую .&lt;br /&gt;
* Member_id : ID пользователя, со счета которого берет свое начало сделка . Может показаться, что эта колонка не нужна, потому что в каждом счете пользователя  также указан member_id . Но наличие member_id в таблице переводов полезно при многоступенчатой ​​передачи. Например, учета оплаты членского взноса в нашей ассоциации выполняется пятью транзакциями, из которых только в одной присутствует счет пользователя. Мы хотим увидеть, что другие транзакции тоже &amp;quot;вызваны&amp;quot; этим конкретным членом - мы могли бы это выяснить более сложным путем через  previous_transfer_id.&lt;br /&gt;
* User_id : ID пользователя , который создал эту операцию . В FreenetISu право доступа к экономической части может иметь много людей , поэтому важно знать , кто из них совершил передачу.&lt;br /&gt;
* type: 1 = Регулярный ежемесячный взнос , 2 = первоначальный взнос , 4 = пополнения VOIP кредит ...&lt;br /&gt;
* datetime : дата и время совершения операции. Например . в банковской он-лайн  выписке будут указаны эти дату и время. Дата выставления счета связана с налогооблагаемой операцией .&lt;br /&gt;
* Creation_datetime : дата и время , когда передача была введена в FreenetISu&lt;br /&gt;
text, amount - назначение платежа и сумма&lt;br /&gt;
&lt;br /&gt;
Специалисты бухгалтерии, обратите внимание,: Таблица переводов на самом деле это общий журнал учета - такой же, как мой дед 50 лет назад вел на бумаге ...&lt;br /&gt;
&lt;br /&gt;
==Таблица account_attributes==&lt;br /&gt;
Раз уже зашла речь о двойно учете, то неплохо бы выяснить его &amp;quot;совместимость&amp;quot; с законодательством нашей страны.&lt;br /&gt;
&lt;br /&gt;
Использование Вами счетов двойного учета во FreenetIS дает Вам большую экономию во времени.&lt;br /&gt;
&lt;br /&gt;
Для достижения совместимости системы с законодательством для каждого счета двойного учета необходимо найти соответствующий счет стандартного учета в соответствии с законодательством.&lt;br /&gt;
&lt;br /&gt;
Стандартный учет согласно законодательству предусматривает использование т.н. план счетов.&lt;br /&gt;
&lt;br /&gt;
План счетов представляет собой перечень возможных счетов двойного учета в организации. Для каждого счета в плане счетов определяется его стандартное имя, номер и другие атрибуты.&lt;br /&gt;
&lt;br /&gt;
План счетов для некоммерческих организаций мало чем отличается для бизнеса, немного отличается для правительства.&lt;br /&gt;
&lt;br /&gt;
В FreenetIS план счетов хранится в таблице account_attributes как план счетов для некоммерческих организаций. Другие виды планов счетов (например, бизнес) предусмотрены в инсталяции FreenetIS, но до сих пор не были востребованы.&lt;br /&gt;
&lt;br /&gt;
Больше всего интересует с каким стандартным учетом будут связаны  кредитные счета.&lt;br /&gt;
&lt;br /&gt;
Двойной кредитный счет может быть членом по плану счетов для некоммерческих организаций для реализации либо&lt;br /&gt;
# Субстандартный счет &amp;quot;членские взносы&amp;quot; (стандартный номер в план счетов = 684000)&lt;br /&gt;
# Субстандартный счет &amp;quot;банковских счетов&amp;quot; (№ 221000)&lt;br /&gt;
&lt;br /&gt;
В  FreenetIS используется второй вариант, потому что он одинаков как для некоммерческих организаций, так и для других лиц,&lt;br /&gt;
&lt;br /&gt;
Более подробное описание можно найти в этой презентации:&lt;br /&gt;
* [Http :/ / zamestnanci.fai.utb.cz / ~ dulik/unart/hospodareni_v1_5.pdf в формате PDF]&lt;br /&gt;
* [Http :/ / zamestnanci.fai.utb.cz / ~ dulik/unart/hospodareni_v1_5.odp в формате ODP]&lt;br /&gt;
&lt;br /&gt;
На слайде 13 показано, как членские взносы будут взиматься в UnArtu  (импорт из EBANK).&lt;br /&gt;
&lt;br /&gt;
===Типы счетов двойного учета, используемые при импорте из банка ===&lt;br /&gt;
&lt;br /&gt;
* Account_attribute_Model :: MEMBER_FEES - тип &amp;quot;членские взносы&amp;quot;&lt;br /&gt;
* Account_attribute_Model :: SUPPLIERS - тип &amp;quot;подрядчики&amp;quot;&lt;br /&gt;
* Account_attribute_Model :: OPERATING - операционные счета, на которые поступают все некатегоризованные платежи доходов и расходов Ассоциации&lt;br /&gt;
* Account_attribute_Model :: CASH - счета для денежных выплат (наличными)&lt;br /&gt;
&lt;br /&gt;
== Контроль банковских счетов ==&lt;br /&gt;
В отличие от обычных систем учета (Pohoda, Money S3) FreenetIS лучше контролирует показатели банковских счетов членов - FreenetIS позволяет отслеживать все банковские счета каждого члена. Это часто помогает нам определить платежи с неточными или запутанными данными - многие члены (=семей) платят банку со счета жены, который зарегистррован на ее девичью фамилию (отличается от фамилии семьи). мы можем через зарегистрированные  банковские счета сразу узнать, членом какой семьи является создатель таких платежей.&lt;br /&gt;
&lt;br /&gt;
Банковские счета записываются в таблицу'' 'bank_accounts'''.&lt;br /&gt;
&lt;br /&gt;
После установки FreenetIS в таблице будет только банковский счет Ассоциации.&lt;br /&gt;
&lt;br /&gt;
Другие записи банковских счетов создаются при импорте из е-банка. В платежах с правильными реквизитами а также сгенерированных при импорте  счетам автоматически определяется владелец.&lt;br /&gt;
&lt;br /&gt;
Если вы хотите импортировать банковские выписки, которые не содержат банковские счета, то вам придется в таблице &amp;quot;bank_accounts&amp;quot; создавать счета как &amp;quot;неизвестные&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Почему? Читайте в следующей главе:&lt;br /&gt;
&lt;br /&gt;
== Подтверждение банковских выписок ==&lt;br /&gt;
Выписки из банковских счетов заносятся в таблицу '''bank_statement'''.&lt;br /&gt;
&lt;br /&gt;
Каждая банковская выписка состоит из различных банковских операций.&lt;br /&gt;
Банк проводит операции между банковскими счетами.&lt;br /&gt;
Таким образом, мы записываем в виде двойной записи переводов между счетами - с помощью таблицы '''bank_transfers''', которая содержит следующие столбцы:&lt;br /&gt;
* Origin_id, destination_id: ID банковских счетов таблицы bank_accounts&lt;br /&gt;
* Transfer_id: ID записи таблицы переводов. Каждый банковский перевод должен быть идентифицирован дважды т.е. соответствовать  к двойной записи. Если Вы не идентифицируете некоторые банковские переводы, будет ошибкой учета - статус двойной записи счета “банковский счет” не будет соответствовать фактическому состоянию банковского счета&lt;br /&gt;
* Bank_statement_id ссылка на таблицу банков&lt;br /&gt;
* Number: номер строки или номер пункта списка банков&lt;br /&gt;
* Variable_symbol, constant_symbol, specific_symbol - это, вероятно, ясно&lt;br /&gt;
* Примечание - любой комментарий по учету оплаты&lt;br /&gt;
&lt;br /&gt;
Дата, время и текст платежей мы решили записывать не в этой таблице, а в таблиц переводов - потому что каждый bank_transfer всегда соответствует переводу, они имели бы то же имя, столбцов в таблице bank_transfers.&lt;br /&gt;
&lt;br /&gt;
= Терминология =&lt;br /&gt;
* Код использует смесь английского &amp;quot;​​Проще говоря&amp;quot; и официальную бухгалтерскую терминологию.&lt;br /&gt;
* Соответствие официальной английской и чешской бухгалтерской терминологии описывается здесь ** [http://ofirme.info/ofirmeinfo/frame3/zakazky/banka/1/Czech-English% 20Dictionary.doc glossary]&lt;br /&gt;
PhD work in ** Radek Vogel MUNI Brno].&lt;br /&gt;
&lt;br /&gt;
= Выписки других банков =&lt;br /&gt;
FreenetIS в настоящее время может импортировать выписки HTML ebanka / Райффайзен банка и записей в формате CSV.&lt;br /&gt;
Большая часть работы в этой области выполняют анализаторы - особенно HTML парсер ebanka. Поэтому анализаторы написаны так, что они не имеют зависимость от фреймворка Kohana или FreenetIS - это полностью отдельные библиотеки&lt;br /&gt;
&lt;br /&gt;
В следующих статьях описано:&lt;br /&gt;
* [[Подготовка к импорту данных]]&lt;br /&gt;
* [[Райффайзенбанк]]&lt;br /&gt;
* [[Fio банка]]&lt;br /&gt;
* [[Сохранение данных в базу данных]]&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Ekonomika&amp;diff=2115</id>
		<title>Ekonomika</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Ekonomika&amp;diff=2115"/>
				<updated>2013-12-10T12:09:28Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Economy]]&lt;br /&gt;
[[ru:Экономика]]&lt;br /&gt;
&lt;br /&gt;
= Úvod =&lt;br /&gt;
Evidence členských příspěvků je typická úloha pro podvojné účetnictví. Proč?Protože [http://en.wikipedia.org/wiki/Double-entry_bookkeeping_system#Timeline od 12.-13. století, kdy se podvojné účto poprvé objevuje v písemných zmínkách],&amp;amp;nbsp; ještě nikdo nevymyslel žádný lepší a jednodušší systém vnitřní evidence financí pro jakýkoli subjekt (živnostník, neziskovka, s.r.o nebo univerzita...).&lt;br /&gt;
&lt;br /&gt;
Princip podvojného účetnictví je opravdu triviální: o každé finanční operaci si pořizujete záznam ve tvaru&lt;br /&gt;
&lt;br /&gt;
  ______________________    částka    ____________________&lt;br /&gt;
 |zdrojový podvojný účet| ----------&amp;gt;|cílový podvojný účet|&lt;br /&gt;
 |______________________|            |____________________|&lt;br /&gt;
&lt;br /&gt;
Např. když Franta Šiška pošle sdružení částku 1000 Kč, lze to podvojně zaúčtovat takto:&lt;br /&gt;
&lt;br /&gt;
  ______________________    1000 Kč   ____________________&lt;br /&gt;
 |  Franta Šiška        | ----------&amp;gt;| náš bankovní účet  |&lt;br /&gt;
 |______________________|            |____________________|&lt;br /&gt;
&lt;br /&gt;
anebo třeba takto:&lt;br /&gt;
  ______________________    1000 Kč   ____________________&lt;br /&gt;
 |  Členské příspěvky   | ----------&amp;gt;|Kredit Franta Šiška |&lt;br /&gt;
 |______________________|            |____________________|&lt;br /&gt;
&lt;br /&gt;
Poznámka: k čemu je ve druhém způsobu účet &amp;quot;Členské příspěvky&amp;quot;? &lt;br /&gt;
&lt;br /&gt;
Peníze v podvojném účtu nemůžou přitéct &amp;quot;odnikud&amp;quot;, na obou stranách šipky musí být nějaké účty.&lt;br /&gt;
&lt;br /&gt;
Výhoda tohoto je v tom, že když budeme všechny členské příspěvky převádět z jednoho účtu &amp;quot;Členské příspěvky&amp;quot;, bude nám okamžitý stav tohoto účtu říkat, kolik členských příspěvků už jsme vybrali. Stav účtu získáme jediným dotazem ve stylu:&lt;br /&gt;
 SELECT balance FROM accounts WHERE accounts.name=&amp;quot;Členské příspěvky&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= DB Schema =&lt;br /&gt;
Podvojné účty si můžeme v podvojném účetnictví tvořit dle vlastní libovůle.&lt;br /&gt;
&lt;br /&gt;
Příklad: chceme zjistit, kolik utrácíme za UTP kabely. Vytvoříme si proto účet &amp;quot;UTP kabely&amp;quot; a na něj budeme převádět částku z každého nákupu UTP kabelu.&lt;br /&gt;
&lt;br /&gt;
Ve FreenetISu jsou podvojné účty, které naše organizace používá, uloženy v '''tabulce accounts'''. &lt;br /&gt;
&lt;br /&gt;
Po instalaci FreenetISu tabulka accounts obsahuje jenom cca 5 účtů, ale s postupem času jejich počet roste, protože každý platící člen má automaticky vytvořen &amp;quot;svůj&amp;quot; podvojný účet, na kterém ukládáme jeho kredit.&lt;br /&gt;
&lt;br /&gt;
Ve FreenetISu může člen mít přiřazeny i další podvojné účty - to jsou účty projektů, ale o tom někdy příště.&lt;br /&gt;
&lt;br /&gt;
Převody mezi podvojnými účty jsou v '''tabulce''' '''transfers'''.Její sloupce jsou:&lt;br /&gt;
* origin_id, destination_id : id podvojných účtů z tabulky accounts &lt;br /&gt;
* previous_transfer_id : používá se u složitějších podvojných transakcí, které se skládají z více podvojných převodů. Např. zaúčtování faktury se standardně dělá 2ma transakcemi. Aby bylo jasné, že tyto 2 transakce &amp;quot;patří k sobě&amp;quot;, nastavíme u té druhé previous_transfer_id tak, aby ukazovalo na tu první transakci. &lt;br /&gt;
* member_id : u platby příspěvku je zde ID člena, od něhož transakce pochází. Může se zdát, že tento sloupec je zbytečný, protože peníze přece putují na kreditní účet člena a ten má také údaj member_id. Ale držet si member_id i v tabulce transfers je výhodné při více-krokových převodech. Např. zaúčtování platby členského příspěvku v našem sdružení děláme v 5ti podvojných převodech, z nichž jen jeden cílí na kreditní účet člena. My ale chceme jednoduše vidět, že i ty ostatní převody &amp;quot;způsobil&amp;quot; tento daný člen - mohli bychom to sice složitě odvodit přes previous_transfer_id, ale ten dotaz, to by byla šílenost. &lt;br /&gt;
* user_id : id uživatele, který podvojný převod vytvořil. Ve FreenetISu můžete právo přístupu k ekonomické části přidělit více lidem, takže je potřeba vědět, kdo z nich daný převod spáchal. &lt;br /&gt;
* type: 1=stržení pravidelného měsíčního příspěvku, 2=vstupní příspěvek, 4=dobití VOIP kreditu, ...&lt;br /&gt;
* datetime: datum a čas účetního případu. Např. u řádku bankovního výpisu se zde bere datum a čas tohoto řádku. U faktury zde bude datum zdanitelného plnění.&lt;br /&gt;
* creation_datetime: datum a čas, kdy byl převod zadán do FreenetISu &lt;br /&gt;
* text, amount - popis platby a částka&lt;br /&gt;
&lt;br /&gt;
Pozn. pro znalce podvojného účetnictví: tabulka transfers je vlastně obyčejný účetní deník - stejný, jaký si můj děda před 50ti lety vedl v papírové podobě...&lt;br /&gt;
&lt;br /&gt;
== Tabulka account_attributes ==&lt;br /&gt;
Když už tedy podvojně účtujeme, je dobrý nápad mít naše podvojné účty &amp;quot;kompatibilní&amp;quot; s legislativou našeho státu.&lt;br /&gt;
&lt;br /&gt;
Pak může stavy podvojných účtů ve FreenetISu okamžitě začít využívat pan(í) účetní naší organizace, protože mu (jí) to ušetří spoustu práce.&lt;br /&gt;
&lt;br /&gt;
Abychom dosáhli kombatibilitu s legislativou, musíme ke každému našemu podvojnímu účtu najít nějaký standardní účet dle legislativy.&lt;br /&gt;
&lt;br /&gt;
Standardní účty legislativa definuje ve formě tzv. účetní osnovy (angličani mají lepší termín: chart of accounts).&lt;br /&gt;
&lt;br /&gt;
Účetní osnova je seznam možných podvojných účtů&amp;amp;nbsp; pro daný typ organizace. U každého účtu je v účetní osnově definován jeho standardní název, standardní číslo a další atributy.&lt;br /&gt;
&lt;br /&gt;
Účetní osnova vypadá nějak pro neziskovky, trochu jinak pro podnikatelské subjekty, trochu jinak pro státní správu. &lt;br /&gt;
&lt;br /&gt;
Ve FreenetISu je účetní osnova uložena v tabulce account_attributes, a to jako účetní osnova pro neziskovky.&amp;amp;nbsp; Jiné typy účetních osnov (např. podnikatelské) by řešil instalátor FreenetISu, ale zatím to nikdo nechtěl.&lt;br /&gt;
&lt;br /&gt;
Nás asi nejvíc zajímá, na který standardní podvojný účet budeme mapovat kreditní účty členů?&lt;br /&gt;
&lt;br /&gt;
Podvojný účet kreditu člena můžeme dle účetní osnovy pro neziskovky implementovat buď jako &lt;br /&gt;
# podúčet standardního účtu &amp;quot;Členské příspěvky&amp;quot; (standardní číslo v účetní osnově = 684000) &lt;br /&gt;
# podúčet standardního účtu &amp;quot;Účty v bankách&amp;quot; (číslo 221000)&lt;br /&gt;
&lt;br /&gt;
Ve FreenetISu používáme 2. variantu, protože je stejná pro neziskovky i pro jiné subjekty, jejichž účetní osnova žádné členské příspěvky (684000) nezná.&lt;br /&gt;
&lt;br /&gt;
Podrobnější výklad&amp;amp;nbsp; najdete v této prezentaci: &lt;br /&gt;
* [http://zamestnanci.fai.utb.cz/~dulik/unart/hospodareni_v1_5.pdf formát PDF] &lt;br /&gt;
* [http://zamestnanci.fai.utb.cz/~dulik/unart/hospodareni_v1_5.odp formát ODP]&lt;br /&gt;
&lt;br /&gt;
Na slajdu 13 je ukázán způsob, jakým členské příspěvky účtujeme v UnArtu my (při importu z Ebanky).&lt;br /&gt;
&lt;br /&gt;
=== Typy podvojných účtů používaných při importu z banky ===&lt;br /&gt;
&lt;br /&gt;
*Account_attribute_Model::MEMBER_FEES - typ &amp;quot;členské příspěvky&amp;quot;&lt;br /&gt;
*Account_attribute_Model::SUPPLIERS - typ &amp;quot;dodavatelé&amp;quot;&lt;br /&gt;
*Account_attribute_Model::OPERATING - operační účet, do kterého padají všechny nekategorizované příjmy a výdaje sdružení&lt;br /&gt;
*Account_attribute_Model::CASH - účet pro platby v hotovosti (pokladna)&lt;br /&gt;
&lt;br /&gt;
== Evidence bankovních účtů ==&lt;br /&gt;
Narozdíl od běžných účetních systémů (Pohoda, Money S3), má FreenetIS dokonalejší evidenci bankovních účtů členů - FreenetIS umožňuje evidovat u každého člena až N jeho bankovních účtů. To nám velmi často pomáhá při identifikaci platby se špatným variabilem - přestože spousta členů(=rodin) platí z bankovního účtu manželky, který nese její dívčí příjmení (odlišné od příjmení rodiny), jsme schopni díky evidenci bankovních účtů okamžitě poznat, který člen je původcem takové platby.&lt;br /&gt;
&lt;br /&gt;
Bankovní účty evidujeme v tabulce '''bank_accounts'''.&lt;br /&gt;
&lt;br /&gt;
Po instalaci FreenetISu zde bude pouze bankovní účet sdružení.&lt;br /&gt;
&lt;br /&gt;
Další bankovní účty členů automaticky vytváří&amp;amp;nbsp; importer z ebanky. U plateb, které mají správný variabil, také importer nově vytvářenému bank. účtu automaticky přiřadí majitele.&lt;br /&gt;
&lt;br /&gt;
Pokud chcete importovat bankovní výpisy ze zdroje, který bankovní účty neobsahuje, pak budete muset v tabulce &amp;quot;bank_accounts&amp;quot; vytvořit účet &amp;quot;NEIDENTIFIKOVANY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Proč? Viz další kapitola:&lt;br /&gt;
&lt;br /&gt;
== Evidence bankovních výpisů ==&lt;br /&gt;
Bankovní výpisy evidujeme v tabulce '''bank_statement'''.&lt;br /&gt;
&lt;br /&gt;
Každý bankovní výpis sestává z mnoha bankovních transakcí.&lt;br /&gt;
Bankovní transakce jsou převody mezi bankovními účty.&lt;br /&gt;
Proto je&amp;amp;nbsp; evidujeme podobně, jako převody mezi podvojnými účty - pomocí tabulky '''bank_transfers''', která obsahuje následující sloupce:&lt;br /&gt;
* origin_id, destination_id : id bankovních účtů z tabulky bank_accounts &lt;br /&gt;
* transfer_id : id podvojného převodu z tabulky transfers. Každý bankovní převod by měl být podvojně zaúčtovaný, tj. odkazovat na některý podvojný převod. Pokud byste některé bankovní převody nezaúčtovali, vznikne účetní chyba - stav podvojného účtu &amp;quot;bankovní účet&amp;quot; nebude sedět se skutečným stavem bankovního účtu &lt;br /&gt;
* bank_statement_id : odkaz do tabulky bank &lt;br /&gt;
* number: Line number or number of the bank listing item&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &lt;br /&gt;
* variable_symbol, &amp;amp;nbsp; constant_symbol, specific_symbol - to je asi jasné &lt;br /&gt;
* comment - případný komentář účetního k dané platbě &lt;br /&gt;
&lt;br /&gt;
Datum, čas a text platby jsme se rozhodli evidovat ne v této tabulce, ale v tabulce transfers - protože každý bank_transfer má vždy přiřazen jeden transfer, byly by stejnomenné sloupce v tabulce bank_transfers redundantní.&lt;br /&gt;
&lt;br /&gt;
=Terminologie=&lt;br /&gt;
*V kódu se používá směska anglické &amp;quot;polopatické&amp;quot; a oficiální účetní terminologie. &lt;br /&gt;
*Oficiální anglická a jí odpovídající česká účetní terminologie je popsána &lt;br /&gt;
**V tomto [http://ofirme.info/ofirmeinfo/frame3/zakazky/banka/1/Czech-English%20Dictionary.doc slovníčku]&lt;br /&gt;
**v PhD práci [http://is.muni.cz/th/33061/ff_d/Radek_Vogel_-_Lexical_Hierarchies_in_the_Scientific_Terminology_-_doctoral_thesis_2006.doc Radka Vogela z MUNI Brno].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Import výpisů z banky=&lt;br /&gt;
FreenetIS momentálně umí importovat HTML výpisy z ebanky/Raiffeisen banky a výpisy v libovolném CSV formátu.&lt;br /&gt;
Největší díl práce v této oblasti představují parsery - především HTML parser ebanky. Proto jsou parsery napsány tak, aby neměly žádnou závislost na frameworku Kohana ani na FreenetISu - jsou to naprosto samostatné knihovny. &lt;br /&gt;
&lt;br /&gt;
Popis implementace je v následujících článcích:&lt;br /&gt;
* [[Příprava pro import dat]]&lt;br /&gt;
* [[Raiffeisenbank]]&lt;br /&gt;
* [[Fio banka]]&lt;br /&gt;
* [[Ukládání dat do databáze]]&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8F&amp;diff=2114</id>
		<title>Технические условия</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8F&amp;diff=2114"/>
				<updated>2013-12-10T12:06:21Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: Založena nová stránka: cs: Specifikace en: Specifications  == FreenetIS 1.0 ==  [http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/branches/qcodo/wwwroot/doc/FreeNetIS-speci...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs: Specifikace]]&lt;br /&gt;
[[en: Specifications]]&lt;br /&gt;
&lt;br /&gt;
== FreenetIS 1.0 ==&lt;br /&gt;
&lt;br /&gt;
[http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/branches/qcodo/wwwroot/doc/FreeNetIS-specifikace_v_0-6.pdfПо умолчанию] спецификация, которая была использована для двух диссертаций и основывалась на других разработчиках. Данная спецификация, но в настоящее время действующая. Там было много изменений, например платежи в конечном итоге были решены и реализованы совершенно по-разному.&lt;br /&gt;
&lt;br /&gt;
Диссертации, в результате реализации основных членов и платежей.&lt;br /&gt;
* [http://zamestnanci.fai.utb.cz/~dulik/diplomky/2007-2008/Danek-MVC-Freenetis.pdf DP Petra Daňka]&lt;br /&gt;
Диссертации, в результате реализации основного оборудования.&lt;br /&gt;
* [http://zamestnanci.fai.utb.cz/~dulik/diplomky/2007-2008/Rozehnal-MVC-freenetis.pdf DP Marka Rozehnala]&lt;br /&gt;
&lt;br /&gt;
Документация для дальнейшего расширения и модификации системы была создана другими программистами, может быть найдена только на этой вики или непосредственно в исходном коде.&lt;br /&gt;
&lt;br /&gt;
Вводная презентация по реализации экономики:&lt;br /&gt;
*[[Media:Hospodareni.odp|formát ODP]]&lt;br /&gt;
*[[Media:Hospodareni.pdf|formát PDF]]&lt;br /&gt;
&lt;br /&gt;
Девиз FreenetIS 2 &amp;quot;система без компромиссов&amp;quot; - то есть, мы хотим избежать  компромиссных решений которые мы сделали в FreenetIS 1 и сегодня мы дорого расплачиваемся за это все большим числом компромиссов.&lt;br /&gt;
&lt;br /&gt;
Весь FreenetIS должны быть созданы в Java EE.&lt;br /&gt;
&lt;br /&gt;
===Схема базы данных===&lt;br /&gt;
&lt;br /&gt;
Примечание: Чтобы нарисовать ER диаграммы, есть несколько проектов с открытым кодом - их оценка на [[Editory ERD]].&lt;br /&gt;
&lt;br /&gt;
*[[Adresář|Address book]]&lt;br /&gt;
*[[Síť|Network]]&lt;br /&gt;
&lt;br /&gt;
===ORM===&lt;br /&gt;
&lt;br /&gt;
Одна из структур обеспечения Java API (например, Hibernate)&lt;br /&gt;
&lt;br /&gt;
===Просмотры===&lt;br /&gt;
&lt;br /&gt;
Выбор между JPS, JSF, RichFaces, ...&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Specifications&amp;diff=2113</id>
		<title>Specifications</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Specifications&amp;diff=2113"/>
				<updated>2013-12-10T12:05:39Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Specifikace]]&lt;br /&gt;
[[ru: Tехнические условия]]&lt;br /&gt;
&lt;br /&gt;
== FreenetIS 1.0 ==&lt;br /&gt;
&lt;br /&gt;
[http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/branches/qcodo/wwwroot/doc/FreeNetIS-specifikace_v_0-6.pdfThe initial specification], which was used to enter two dissertations and relied on by other developers. This specification but is currently valid. There have been many changes, for example payments were eventually resolved and implemented quite differently.&lt;br /&gt;
&lt;br /&gt;
Thesis, resulting in the implementation of the basic members and payments.&lt;br /&gt;
* [http://zamestnanci.fai.utb.cz/~dulik/diplomky/2007-2008/Danek-MVC-Freenetis.pdf DP Petra Daňka] &lt;br /&gt;
Thesis, resulting in the implementation of the basic equipment.&lt;br /&gt;
* [http://zamestnanci.fai.utb.cz/~dulik/diplomky/2007-2008/Rozehnal-MVC-freenetis.pdf DP Marka Rozehnala]&lt;br /&gt;
&lt;br /&gt;
The documentation for further expansion and modification of the system were created by other programmers, can only be found on this wiki or directly in the source code.&lt;br /&gt;
&lt;br /&gt;
Introductory presentation on the implementation of the economy is:&lt;br /&gt;
*[[Media:Hospodareni.odp|formát ODP]]&lt;br /&gt;
*[[Media:Hospodareni.pdf|formát PDF]]&lt;br /&gt;
&lt;br /&gt;
Motto FreenetIS 2 is a &amp;quot;system without compromise&amp;quot; - that is, we want to avoid from the beginning of the compromise decision we made ​​in FreenetIS 1 and today we pay for it dearly need to make more and more compromises.&lt;br /&gt;
&lt;br /&gt;
The whole FreenetIS should be created in Java EE.&lt;br /&gt;
&lt;br /&gt;
===Database Schema===&lt;br /&gt;
&lt;br /&gt;
Note: To draw ER diagrams, there are several open source projects - their assessment on the [[Editory ERD]].&lt;br /&gt;
&lt;br /&gt;
*[[Adresář|Address book]]&lt;br /&gt;
*[[Síť|Network]]&lt;br /&gt;
&lt;br /&gt;
===ORM===&lt;br /&gt;
&lt;br /&gt;
One of the frameworks providing Java Persistence API (such as Hibernate)&lt;br /&gt;
&lt;br /&gt;
===Views===&lt;br /&gt;
&lt;br /&gt;
Choose between JPS, JSF, RichFaces, ...&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Specifications&amp;diff=2112</id>
		<title>Specifications</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Specifications&amp;diff=2112"/>
				<updated>2013-12-10T12:04:38Z</updated>
		
		<summary type="html">&lt;p&gt;Sivosha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[cs:Specifikace]]&lt;br /&gt;
[[ru: Tехнические условия]]&lt;br /&gt;
&lt;br /&gt;
== FreenetIS 1.0 ==&lt;br /&gt;
&lt;br /&gt;
[http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/branches/qcodo/wwwroot/doc/FreeNetIS-specifikace_v_0-6.pdfПо умолчанию] спецификация, которая была использована для двух диссертаций и основывалась на других разработчиках. Данная спецификация, но в настоящее время действующая. Там было много изменений, например платежи в конечном итоге были решены и реализованы совершенно по-разному.&lt;br /&gt;
&lt;br /&gt;
Диссертации, в результате реализации основных членов и платежей.&lt;br /&gt;
* [http://zamestnanci.fai.utb.cz/~dulik/diplomky/2007-2008/Danek-MVC-Freenetis.pdf DP Petra Daňka]&lt;br /&gt;
Диссертации, в результате реализации основного оборудования.&lt;br /&gt;
* [http://zamestnanci.fai.utb.cz/~dulik/diplomky/2007-2008/Rozehnal-MVC-freenetis.pdf DP Marka Rozehnala]&lt;br /&gt;
&lt;br /&gt;
Документация для дальнейшего расширения и модификации системы была создана другими программистами, может быть найдена только на этой вики или непосредственно в исходном коде.&lt;br /&gt;
&lt;br /&gt;
Вводная презентация по реализации экономики:&lt;br /&gt;
*[[Media:Hospodareni.odp|formát ODP]]&lt;br /&gt;
*[[Media:Hospodareni.pdf|formát PDF]]&lt;br /&gt;
&lt;br /&gt;
Девиз FreenetIS 2 &amp;quot;система без компромиссов&amp;quot; - то есть, мы хотим избежать  компромиссных решений которые мы сделали в FreenetIS 1 и сегодня мы дорого расплачиваемся за это все большим числом компромиссов.&lt;br /&gt;
&lt;br /&gt;
Весь FreenetIS должны быть созданы в Java EE.&lt;br /&gt;
&lt;br /&gt;
===Схема базы данных===&lt;br /&gt;
&lt;br /&gt;
Примечание: Чтобы нарисовать ER диаграммы, есть несколько проектов с открытым кодом - их оценка на [[Editory ERD]].&lt;br /&gt;
&lt;br /&gt;
*[[Adresář|Address book]]&lt;br /&gt;
*[[Síť|Network]]&lt;br /&gt;
&lt;br /&gt;
===ORM===&lt;br /&gt;
&lt;br /&gt;
Одна из структур обеспечения Java API (например, Hibernate)&lt;br /&gt;
&lt;br /&gt;
===Просмотры===&lt;br /&gt;
&lt;br /&gt;
Выбор между JPS, JSF, RichFaces, ...&lt;/div&gt;</summary>
		<author><name>Sivosha</name></author>	</entry>

	</feed>