Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 1565

Přidáno uživatelem David Raška před asi 12 roky(ů)

Upravy:
- Razeni VLANu u detailu portu
- Uprava instalace (testovani prav u slozek a souboru, generovani .htaccess)

Zobrazit rozdíly:

freenetis/branches/testing/media/css/installation.css
label.error {
display: block;
}
.status_icon {
vertical-align: middle;
padding-right: .5em;
padding-bottom: .5em;
}
freenetis/branches/testing/application/i18n/cs_CZ/texts.php
'1 day ago' => 'před 1 dnem',
'1 hour ago' => 'před 1 hodinou',
'1 minute ago' => 'před 1 minutou',
'99&#37 chance you won\'t need to change this value' => '99&#37 šance, že nebudete chtít měnit tuto hodnotu.',
'absolute majority' => 'Absolutní většina',
'abstain' => 'Zdržet se',
'about sms' => 'Informace o SMS',
......
'chairman and agent' => 'Předseda a jednatel',
'change' => 'Změnit',
'change application password' => 'Změnit aplikační heslo',
'change directory permissions:' => 'Změnte práva složky:',
'change language' => 'Změnit jazyk',
'change member limit' => 'Změnit limit člena',
'change password' => 'Změnit heslo',
'change root freenetis directory permissions:' => 'Změnte práva kořenové složky FreenetISu:',
'changed values' => 'Změněné hodnoty',
'change voicemail password' => 'Změnit heslo hlasové schránky',
'channel' => 'Kanál',
......
'direction' => 'Směr',
'directional' => 'směrová',
'directory' => 'adresář',
'directory %s exist and is writeable' => 'Složka %s existuje a je zapisovatelná',
'directory "static" is not writable, change access rights' => 'Adresář "static" není zapisovatelný, změňte přístupová práva.',
'directory "upload" is not writable, change access rights' => 'Adresář "upload" není zapisovatelný, změňte přístupová práva.',
'directory "upload" is not writable, change access rights to be able upload your own logo' => 'Adresář "upload" není zapisovatelný, změňte přístupové práva pro možnost nahrát vlastní logo.',
......
'error - cannot add phone operator' => 'Chyba - nelze přidat telefonního operátora',
'error - cannot assign transfer' => 'Chyba - nelze přiřadit převod.',
'error - cannot complete registration' => 'Chyba - Nelze dokončit registraci',
'error - cannot create %s file' => 'Chyba - Nelze vytvořit soubor %s',
'error - cannot delete access rule' => 'Chyba - Nelze smazat přístupové pravidlo.',
'error - cannot delete bank statement' => 'Chyba - nelze smazat bankovní výpis.',
'error - cannot delete filter query' => 'Chyba - nelze smazat dotaz filtru.',
......
'fees have not been set!' => 'Členské příspěvky nebyly nastaveny!',
'fifth-degree certified engineers' => 'Certifikování technici pátého stupně',
'file' => 'Soubor',
'file %s exist' => 'Soubor %s existuje',
'file %s will be created' => 'Soubor %s bude vytvořen',
'file type' => 'Typ souboru',
'file with bank transfer listing' => 'Soubor s bankovním výpisem',
'fill in' => 'Doplnit',
......
'fixed line' => 'Pevná linka',
'fixed line number' => 'Číslo v pevné lince',
'for smtp settings only' => 'Pouze pro nastavení SMTP.',
'for successful installation, you have to change some file/directory permissions' => 'Pro úspěšnou instalaci musíte změnit některá práva souborů/složek.',
'for this month and year is not set default fee' => 'Pro tento měsíc a rok není nastaven výchozí poplatek.',
'foreign download' => 'Zahraniční download',
'foreign upload' => 'Zahraniční upload',
......
'i' => 'P',
'i accept this message and i want to cancel this redirection' => 'Beru na vědomí tuto zprávu a chci zrušit toto přesměrování',
'i can\'t set file permission to 660' => 'Nemůžu nastavit oprávnění souboru na 660',
'i can\'t write the configphp file' => 'Nemůžu zapisovat do souboru <code>config.php</code>.',
'i can\'t write the %s file' => 'Nemůžu zapisovat do souboru <code>%s</code>.',
'i can\'t write the htaccess file' => 'Nemůžu zapisovat do souboru <code>.htaccess</code>.',
'i can\'t write to dir %s' => 'Nemůžu zapisovat do složky %s',
'id' => 'ID',
'id of member' => 'ID člena',
'param id with same value was used for another message before' => 'Byl použit parametr id s hodnotou, která již byla použita pro jinou zprávu',
......
'minimal latency' => 'Minimální odezva',
'minimal suggest amount' => 'Minimální navrhovaná částka',
'minimum of traffic' => 'Minimální provoz',
'mod_rewrite is enabled' => 'Mod_rewrite je povolen',
'mod_rewrite is not enabled' => 'Mod_rewrite není povolen',
'mode' => 'Mód',
'mode is required' => 'Mód je povinný.',
'module settings' => 'Nastavení modulů',
......
'notification settings have not been updated' => 'Nastavení upozornění nebylo upraveno.',
'notifications' => 'Upozornění',
'november' => 'Listopad',
'now you can login using account name and password you entered before installation' => 'Nyní se můžete přihlásit pomocí uživatelského jména a hesla, které jste zadali před instalací.',
'number' => 'Číslo',
'number of the recipient' => 'Číslo příjemce',
'number of the sender' => 'Číslo odesilatele',
......
'thank you for your error report' => 'Děkujeme Vám za hlášení chyby',
'thank you for your registration' => 'Děkujeme Vám za vaši registraci',
'the first bank account information' => 'Údaje o prvním bankovním účtu',
'the name of the database you want to run freenetis in' => 'Název databáze, do které chcete FreeNetIS nainstalovat.',
'the parsed account is unknown' => 'Parsovaný účet je neznámý',
'the request has been sent to your e-mail' => 'Žádost byla odeslána na Váš e-mail',
'the transfer successfully done' => 'Převod úspěšně dokončen',
......
'vote to your work has been added' => 'K vaší práci byl přidán hlas',
'votes' => 'Hlasy',
'votes has been successfully updated' => 'Hlasy byly úspěšně aktualizovány.',
'welcome to freenetis' => 'Vítejte ve FreeNetISu','voicemail password for voip account' => 'Heslo hlasové schránky pro VoIP účet',
'welcome to freenetis installation' => 'Vítejte ve FreeNetIS instalaci.',
'voicemail password for voip account' => 'Heslo hlasové schránky pro VoIP účet',
'welcome to freenetis' => 'Vítejte ve FreeNetISu',
'welcome to freenetis installation' => 'Vítejte v instalaci FreenetIS.',
'view all records' => 'Vidět všechny záznamy',
'view name' => 'Název pohledu',
'view own records' => 'Vidět vlastní záznamy',
......
'your concepts of work reports' => 'Vaše koncepty pracovních výkazů',
'your email' => 'Váš email',
'your request for membership has not been approved yet' => 'Vaše žádost o členství zatím nebyla schválena',
'your mysql password' => 'Vaše MySQL heslo.',
'your mysql username' => 'Vaše MySQL uživatelské jméno.',
'your name' => 'Vaše jméno',
'your registration has been sended and waiting for admin approval' => 'Vaše registrace byla odeslána a čeká na schválení adminem',
'you will be inform by your email address about admin decision' => 'O rozhodnutí admina budete informován emailem',
freenetis/branches/testing/application/i18n/cs_CZ/help.php
*/
$lang = array
(
'99&#37 chance you won\'t need to change this value' => '99&#37 šance, že nebudete chtít měnit tuto hodnotu.',
'access_to_system' => 'Určuje, zda-li má uživatel možnost přihlásit se do systému Freenetis a zda má možnost využívat služeb Radius serveru napojeného na Freenetis, tedy například VPN, aktivní prvky sítě, volání z VoIP účtu atd.',
'accounting_system' => 'Účetní osnova je hlavní pomocník pro účetního sdružení. Zobrazuje sumu peněz na účtu z pohledu účetní osnovy. Ve výchozím stavu je to částka za celou dobu fungování sdružení, lze ovšem vyfiltrovat převody za zvolené období, např. od data 2009-01-01 do data 2009-12-31.',
'acl' => 'Jedná se o seznam definovaných přístupových pravidel. Ke každému pravidlu jsou přiřazeny ACO objekty (operace), ARO skupiny (skupiny uživatelů) a AXO objekty (objekty, nad kterými se konají operace).',
......
'recalculate_fees' => 'Pro primární strhávání členských příspěvků používejte funkci pro globální strhávání členských příspěvků v Účetním deníku. Tuto funkci používejte opatrně a to jen v případě, že máte správně strženy všechny členské příspěvky pro všechny členy od založení sdružení až po současné datum. Pak můžete tomuto členovi přepočítat stržení členských příspěvků v případě, že u něj došlo k nutnosti je přepočítat, např. chybné datum vstupu, vznikla nutnost přidat přerušení členství apod.',
'recalculate_entrance_fees' => 'Pro primární strhávání vstupních příspěvků používejte funkci pro globální strhávání v účetním deníku. Tuto funkci používejte jen v případě, že došlo k nějakému omylu, například, že měl zaplatit vstupní a pak se ukázalo, že nemusel.',
'redirection_preview' => 'Náhled zobrazí stránku přesně tak, jak se zobrazí dané IP adrese. V případě více aktivovaných přesměrování najednou pro jednu IP adresu se zobrazí jen to, které se členovi zobrazí jako první.',
'register_install' => 'Zašlě data o instalaci (jméno organizace a Váš email) vývojářům FreeNetISu pro zasílání novinek a informacích o vývoji',
'register_install' => 'Zašle data o instalaci (jméno organizace a Váš email) vývojářům FreeNetISu pro zasílání novinek a informacích o vývoji',
'registration_logo' => 'Jedná se o logo sdružení, které se zobrazí v levém horním rohu vyexportované přihlášky. Poměr stran by měl být 16:6.',
'self_cancel' => 'Je-li daná zpráva samozrušitelná, znamená to, že při jejím zobrazení členovi se v patičce stránky objeví odkaz, který mu umožní přesměrování vypnout. Vhodné pro zprávy informativního charakteru. Rozlišuje se samozrušitelnost pro jednu IP adresu anebo pro všechny IP adresy člena.',
'self_cancel_text' => 'Text pro odkaz určený k zrušení přesměrování členem. Tento text se zobrazuje v patičce stránky přesměrovanému členovi.',
......
'subnet_used_ips' => 'Jedná se procentuální vyjádření využití IP adres v podsíti. Červené zbarvení značí docházející IP adresy, zelené pak nevyužitou podsít (zbytečně velká?).',
'syslog_ng_mysql_api' => 'Jedná se o jednoduché API pro načítání dat z syslog-ng daémona ukládajícího logy do MySQL databáze. Více infa <a href=http://dev.quimi.cz/projects/syslog-ng-mysql-api>zde</a>',
'syslog_ng_mysql_api_url' => 'URL adresa API pro zasílání požadavků, včetně jména a hesla ve tvaru http://URL?user=uživatel&password=heslo',
'the name of the database you want to run freenetis in' => 'Název databáze, do které chcete FreeNetIS nainstalovat.',
'time threshold in minutes, before module is shown as inactive' => 'Časová hranice v minutách, po které je modul označen jako neaktivní',
'total_traffic' => 'Jedná se o celkový provoz člena od spuštění ulogd.',
'ulogd_active' => 'Jedná se o seznam (z pohledu typu provozu) příliš aktivních členů. Tento seznam se používá například pro vyhodnocování QoSu pro členy (členové z tohoto seznamu jsou mírně znevýhodněni oproti ostatním členům), aktualizuje při každé aktualizaci ulogd, viz. Nastavení - Logování - Ulogd - Interval aktualizace.',
......
'voip_login_data' => 'Níže uvedené údaje využijte pro nastavení vašeho VoIP telefonu. Login použijte pro požadované přihlašovací či zobrazovací jméno, heslo pro heslo k účtu a adresa proxy serveru odpovídá adrese telefonní ústředny. Údaj CLIPS je jen dodatečná informace pro příjemce hovoru, pokud vás nemá v seznamu. Doporučujeme nastavit stejné jako je vaše číslo.',
'voip_status' => 'Stav Registrovaný znamená, že telefonní klient ať už fyzický či softwarový je zapnut a správně připojen k ústředně. Stav Neregistrovaný platí pro opak. Pro VoIP telefon registrovaný v ústředně se pak zobrazuje jeho aktuální IP adresa, port a čas vypršení registrace.',
'whitelist' => 'IP adresám, které jsou umístěny na bílé listině, je sice možné aktivovat přesměrování, ale nebudou odeslány na centrální router. Tedy nebudou přesměrovány, dokud nebudou odebrány z bílé listiny. Dočasná bílá listina se od trvalé liší v tom, že je pravidelně promazávána.',
'your mysql password' => 'Vaše MySQL heslo.',
'your mysql username' => 'Vaše MySQL uživatelské jméno.',
);
freenetis/branches/testing/application/helpers/server.php
return (empty($_SERVER['QUERY_STRING']) ? '' : '?' . $_SERVER['QUERY_STRING']);
}
/**
* Returns base directory of FreenetIS
*
* @author David Raška
* @return string
*/
public static function base_dir()
{
$path_parts = explode('/', ltrim(@$_SERVER['SCRIPT_NAME'], '/'));
$folder = '';
if (count($path_parts) > 0)
{
$folder = '/'.$path_parts[0];
}
return @$_SERVER['DOCUMENT_ROOT'] . $folder;
}
}
freenetis/branches/testing/application/models/vlan.php
LEFT JOIN ifaces_vlans iv ON iv.vlan_id = v.id
WHERE iv.iface_id = ?
GROUP BY v.id
ORDER BY v.tag_802_1q
", $iface_id);
}
freenetis/branches/testing/application/controllers/installation.php
->rules('required')
->value($currency);
$form->radio('clean_urls')
->label('Clean URLs')
->options(arr::bool())
->default(1);
$link = html::anchor('http://www.freenetis.org', 'FreeNetIS.org', array
$link = html::anchor('http://www.freenetis.org', 'FreenetIS.org', array
(
'target' => '_blank'
));
......
// array for store error
$errors = array();
$clean_urls = ($form_data['clean_urls'] && server::is_mod_rewrite_enabled());
// set base domain
Settings::set('domain', server::http_host());
......
$view = new View('installation/done');
// want clean urls
if ($clean_urls)
{
// it is not re-install
if (!file_exists('.htaccess'))
{
// load .htaccess sample file
$htaccessFile = file('.htaccess-sample');
foreach ($htaccessFile as $line_num => $line)
{
// find line with RewriteBase
if (preg_match("/^RewriteBase (.+)/", $line, $matches))
{
// and set there our suffix (subdirectory)
$htaccessFile[$line_num] = preg_replace(
"/^(RewriteBase )(.+)/",
'${1}'.$suffix, $line
);
}
}
// root directory is not writable, only generate code
// and howto to create config file by user
if (!is_writable('.'))
{
$errors['writable'] = TRUE;
$textarea = '';
foreach ($htaccessFile as $line)
$textarea .= htmlentities ($line);
$view->textarea = '<textarea cols="90" rows="15">';
$view->textarea .= $textarea.'</textarea>';
}
// root directory is writable, create .htacess
else
{
$handle = @fopen('.htaccess', 'w');
if (!$handle)
$errors['fopen'] = TRUE;
else
{
foreach($htaccessFile as $line )
fwrite($handle, $line);
fclose($handle);
if (!@chmod('.htaccess', 0666))
$errors['chmod'] = TRUE;
}
}
}
// no errors
if (!count($errors))
{
// remove index.php from urls
Settings::set('index_page', 0);
}
}
// remove index.php from urls
Settings::set('index_page', 0);
$view->errors = $errors;
$view->render(TRUE);
}
freenetis/branches/testing/application/controllers/setup_config.php
* @author Michal Kliment
*/
public function index()
{
{
$f_state = $this->get_file_statuses(array('config.php', '.htaccess'));
// check if the database is empty
if ($this->settings->get('db_schema_version'))
if ($f_state['file_exist']['config.php'] &&
$f_state['file_exist']['.htaccess'] &&
Settings::get('db_schema_version'))
{
url::redirect('members/show/'.$this->session->get('member_id'));
}
// new form
$form = new Forge('setup_config/setup');
$d_state = $this->get_dir_statuses(array('upload', 'logs'));
$form->submit(__('Next step') . ' >>>');
$writeable = $f_state['state'] & $d_state['state'];
$html_statuses = $f_state['html'] . $d_state['html'];
if (!server::is_mod_rewrite_enabled())
{
$html_statuses .= html::image(array('src' => 'media/images/icons/status/error.png', 'class' => 'status_icon'));
$html_statuses .= '<span style="color: red">'.__('Mod_rewrite is not enabled').'</span><br>';
$writeable = false;
}
else
{
$html_statuses .= html::image(array('src' => 'media/images/icons/status/success.png', 'class' => 'status_icon'));
$html_statuses .= __('Mod_rewrite is enabled').'<br>';
}
if ($writeable)
{
$form = new Forge('setup_config/htaccess');
$form->submit(__('Next step') . ' >>>');
}
else
{
// new form
$form = new Forge();
$form->submit('Check again');
}
$view = new View('setup_config/main');
$view->content = new View('setup_config/index');
$view->content->form = $form->html();
$view->content->file_statuses = $html_statuses;
$view->content->writeable = $writeable;
$view->content->config_exist = $f_state['file_exist']['config.php'];
$view->render(TRUE);
}
/*
* This method creates new .htaccess file
*
* @author David Raška
*/
public function htaccess()
{
// set subdirectory
$suffix = substr(server::script_name(),0,-9);
$errors = array();
if (!file_exists('.htaccess'))
{
// load .htaccess sample file
$htaccessFile = @file('.htaccess-sample');
if (!$htaccessFile)
{
$errors['fopen'] = TRUE;
}
else
{
foreach ($htaccessFile as $line_num => $line)
{
// find line with RewriteBase
if (preg_match("/^RewriteBase (.+)/", $line))
{
// and set there our suffix (subdirectory)
$htaccessFile[$line_num] = preg_replace(
"/^(RewriteBase )(.+)/",
'${1}'.$suffix, $line
);
}
}
// root directory is writable, create .htacess
$handle = @fopen('.htaccess', 'w');
if (!$handle)
{
$errors['fopen'] = TRUE;
}
else
{
foreach($htaccessFile as $line )
{
@fwrite($handle, $line);
}
@fclose($handle);
if (!@chmod('.htaccess', 0666))
{
$errors['chmod'] = TRUE;
}
}
}
}
if (count($errors))
{
$view = new View('setup_config/main');
$view->content = '<h2>'.__('Error - Cannot create %s file', '.htaccess').'</h2>';
$view->render(TRUE);
}
else
{
if (Settings::get('db_schema_version'))
{
Settings::set('index_page', 0);
}
$this->redirect('setup_config/setup');
}
}
/**
* This method create config file (if root directory is writable)
* or generate code to create it by user
......
// new form
$form = new Forge('setup_config/setup');
$form->group('Database information');
$form->group('<h2>'.__('Database information').'</h2>');
$form->input('db_name')
->label('Database name')
......
}
}
}
// root directory is writable, create config
$handle = fopen('config.php', 'w');
// root directory is not writable, only generate code and
// howto to create config file by user
if (!is_writable('.'))
foreach ($config_file as $line)
{
$textarea = '';
foreach ($config_file as $line)
{
$textarea .= htmlentities($line);
}
fwrite($handle, $line);
}
$view->content->textarea = '<textarea cols="90" rows="15">'
. $textarea . '</textarea>';
}
// root directory is writable, create config
else
{
$handle = fopen('config.php', 'w');
foreach ($config_file as $line)
{
fwrite($handle, $line);
}
fclose($handle);
chmod('config.php', 0666);
}
fclose($handle);
chmod('config.php', 0666);
}
$view->render(TRUE);
}
......
$view->render(TRUE);
}
}
/**
* Returns states (exist, writeable) of files in html format and boolean
*
* @author David Raška
* @param array $files
* @return array
*/
private function get_file_statuses($files)
{
$ok = true;
$html = '';
$file_exist = array();
foreach ($files AS $file)
{
if (file_exists($file))
{
$html .= html::image(array('src' => 'media/images/icons/status/success.png', 'class' => 'status_icon'));
$html .= __('File %s exist.',$file).'<br>';
$file_exist[$file] = true;
}
else if (!is_writeable('.'))
{
$html .= html::image(array('src' => 'media/images/icons/status/error.png', 'class' => 'status_icon'));
$html .= '<span style="color: red">'.__('i can\'t write the %s file',$file).'</span><br>'.
'<span style="margin-left: 3em">'.__('Change root FreenetIS directory permissions:').' <code>chmod ugo+w '.server::base_dir().'</code></span><br>';
$ok = false;
$file_exist[$file] = false;
}
else
{
$html .= html::image(array('src' => 'media/images/icons/status/info.png', 'class' => 'status_icon'));
$html .= __('File %s will be created.',$file).'<br>';
$file_exist[$file] = false;
}
}
return array('state' => $ok, 'html' => $html, 'file_exist' => $file_exist);
}
/**
* Returns states (exist & writeable) of directories in html format and boolean
*
* @param array $dirs
* @return array
*/
private function get_dir_statuses($dirs)
{
$ok = true;
$html = '';
foreach ($dirs AS $dir)
{
if (file_exists($dir) && is_writeable($dir))
{
$html .= html::image(array('src' => 'media/images/icons/status/success.png', 'class' => 'status_icon'));
$html .= __('Directory %s exist and is writeable.',$dir).'<br>';
}
else
{
$html .= html::image(array('src' => 'media/images/icons/status/error.png', 'class' => 'status_icon'));
$html .= '<span style="color: red">'.__('i can\'t write to dir %s',$dir).'</span><br>'.
'<span style="margin-left: 3em">'.__('Change directory permissions:').' <code>chmod ugo+w '.server::base_dir().'/'.$dir.'</code></span><br>';
$ok = false;
}
}
return array('state' => $ok, 'html' => $html);
}
}
freenetis/branches/testing/application/controllers/settings.php
// load .htaccess sample file
if (($htaccessFile = @file('.htaccess-sample')) != FALSE)
{
$this->form->radio('clean_urls')
->label('Clean URLs')
->options(arr::bool())
->default(!Settings::get('index_page'))
->help(__('URL addresses without index.php.'));
foreach ($htaccessFile as $line_num => $line)
{
// find line with RewriteBase
......
foreach ($form_data as $name => $value)
{
// transform clean_urls to index_page
if ($name == 'clean_urls')
if ($name == 'module_status_timeout')
{
$name = 'index_page';
$value = ($value) ? 0 : 1;
// we want clean urls
if (!$value)
{
// and can create it
if (is_writable('.'))
{
// create it
$handle = @fopen('.htaccess', 'w');
if ($handle)
{
foreach ($htaccessFile as $line)
{
fwrite($handle, $line);
}
fclose($handle);
chmod('.htaccess', 0666);
$message = __(
'Htaccess file has been ' .
'successfully created.'
);
}
else
{
$value = 0;
$message = __(
'Htaccess file hasn\'t been ' .
'successfully created.'
);
}
}
else
{
// we can't create it and it doen't exist
if (!file_exists('.htaccess'))
{
// we turn off clean urls
$value = 1;
$message = __(
'Htaccess file hasn\'t been ' .
'successfully created.'
);
}
}
}
}
else if ($name == 'module_status_timeout')
{
$value = max($value, 1);
}
else if ($name == 'address_ranges')
freenetis/branches/testing/application/libraries/Forge.php
// default action
if (!$action)
{
$action = url::base().url::current(TRUE);
$action = url::base(TRUE).url::current(TRUE);
}
// auto action prefix
if (!text::starts_with($action, url::base()))
{
$action = url_lang::base() . $action;
$action = url_lang::base(TRUE) . $action;
}
//echo $action.'<br>';
if (isset($_GET[Path::QSNAME]))
freenetis/branches/testing/application/libraries/MY_Controller.php
'scheduler/run',
'installation',
'setup_config',
'setup_config/htaccess',
'setup_config/setup',
/* registration */
'registration',
......
$this->noredirect = ($this->input->get('noredirect') || $this->input->post('noredirect'));
// config file doesn't exist, we must create it
if (!file_exists('config.php'))
if (!file_exists('config.php') || !file_exists('.htaccess'))
{
// protection before loop
if (url_lang::current(1) == 'setup_config')
return;
if (!file_exists('.htaccess'))
{
Settings::set('index_page', 1);
}
url::redirect('setup_config');
}
freenetis/branches/testing/application/views/installation/done.php
<div id="main-padd">
<div id="content">
<h2><?php echo __('Installation done') ?></h2><br />
<?php if (!count($errors)) :?>
<p><?php echo __('Installation has been successfully finished.') ?></p>
<p><?php echo __('And now, click Login.') ?></p>
<?php else: ?>
<p><?php echo __('Installation has been finished.') ?></p>
<p><?php echo __('But there are some problems') ?>:</p>
<?php if ((isset($errors['writable']) && $errors['writable']) || (isset($errors['fopen']) && $errors['fopen'])): ?>
<p class="warning"><?php echo __('I can\'t write the htaccess file.').' '.__('You must create it manually and paste the following text into it') ?>:</p>
<?php echo $textarea ?>
<?php endif ?>
<?php if (isset($errors['chmod']) && $errors['chmod']): ?>
<p class="warning">
<?php echo __('But I can\'t set file permission to 660').'.' ?>
<?php echo __('You have to set up it by yourself:') ?><br />
</p>
<code>chmod 660 .htaccess</code>
<?php endif ?>
<p>
<?php echo __('Currently clean urls are turn off.') ?>
<?php echo __('After you will solve previous problems, you can turn them on in') ?>
<?php echo html::anchor('settings/system', __('Settings').' - '.__('System').' - '.__('URL Settings')).'.' ?>
</p>
<?php endif ?>
<p><?php echo __('Installation has been successfully finished') . ' ' .
__('Now you can login using account name and password you entered before installation.') ?></p>
<?php echo form::open(url_lang::base().'login') ?>
<?php echo form::submit('submit', __('Login')) ?>
<?php echo form::close() ?>
freenetis/branches/testing/application/views/setup_config/setup.php
<p><a href="<?php echo url_lang::base() ?>setup_config/setup">&lt;&lt;&lt; <?php echo __('Back to the form') ?></a></p>
<?php else: ?>
<h2><?php echo __('Setup config done') ?></h2>
<?php if (isset($textarea) && $textarea!=''): ?>
<p><?php echo __('But I can\'t write the configphp file.') ?> <?php echo __('You must create it manually and paste the following text into it.') ?></p>
<?php echo $textarea ?>
<?php echo __('After you\'ve done that, you can continue.') ?>
<?php endif ?>
<?php echo form::open(url_lang::base().'login') ?>
<?php echo form::submit('submit', __('Next step').' >>>') ?>
<?php echo form::close() ?>
freenetis/branches/testing/application/views/setup_config/index.php
<h2><?php echo __('Welcome to FreeNetIS') ?></h2>
<h2><?php echo __('Welcome to FreenetIS installation') ?></h2>
<?php if (!$writeable): ?>
<p><?php echo __('For successful installation, you have to change some file/directory permissions.')?></p>
<?php endif; ?>
<?php echo $file_statuses ?>
<br>
<?php if (!$config_exist): ?>
<p><?php echo __('Before getting started, we need some information on the database.')?> <?php echo __('You will need to know the following items before proceeding.') ?></p>
<ol>
......
<li><?php echo __('Database password') ?></li>
<li><?php echo __('Database host') ?></li>
</ol>
<p><b><?php echo __('If for any reason this automatic config file creation doesn\'t work, don\'t worry.') ?>
<?php echo __('You can simply open %s in a text editor, fill in your information, and save it as %s.', array('config-sample.php', 'config.php')) ?></b></p>
<?php endif; ?>
<?php echo $form ?>

Také k dispozici: Unified diff