blob: 6371a205f0db0e3b662ee2845adb21446be057d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="X-UA-Compatible" content="IE=7"/>
<title>Rozdělení disku</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"/><link rel="home" href="index.html" title="Instalace pomocí DrakX"/><link rel="up" href="index.html" title="Instalace pomocí DrakX"/><link rel="prev" href="selectKeyboard.html" title="Klávesnice"/><link rel="next" href="ask_mntpoint_s.html" title="Zvolte si přípojné body"/><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><script type="text/javascript">
//The id for tree cookie
var treeCookieId = "treeview-2152";
var language = "en";
var w = new Object();
//Localization
txt_filesfound = 'Výsledky';
txt_enter_at_least_1_char = "Musíte zadat alespoň jeden znak.";
txt_browser_not_supported = "JavaScript je ve vašem prohlížeči zakázán. Povolte, prosím, JavaScript a užijte si všechny funkce této stránky.";
txt_please_wait = "Počkejte, prosím. Probíhá hledání...";
txt_results_for = "Výsledky pro:";
txt_no_results_for = "";
</script><style type="text/css">
input {
margin-bottom: 5px;
margin-top: 2px;
}
.folder {
display: block;
height: 22px;
padding-left: 20px;
background: transparent url(../../common/jquery/treeview/images/folder.gif) 0 0px no-repeat;
}
</style><link rel="shortcut icon" href="favicon.png" type="image/x-icon"/><link rel="stylesheet" type="text/css" href="../../common/css/positioning.css"/><link rel="stylesheet" type="text/css" href="../../common/jquery/theme-redmond/jquery-ui-1.8.2.custom.css"/><link rel="stylesheet" type="text/css" href="../../common/jquery/treeview/jquery.treeview.css"/><link rel="stylesheet" type="text/css" href="webhelp-default.css"/><link rel="stylesheet" type="text/css" href="webhelp-custom.css"/><script type="text/javascript" src="../../common/jquery/jquery-1.4.2.min.js"><!----></script><script type="text/javascript" src="../../common/jquery/jquery-ui-1.8.2.custom.min.js"><!----></script><script type="text/javascript" src="../../common/jquery/jquery.cookie.js"><!----></script><script type="text/javascript" src="../../common/jquery/treeview/jquery.treeview.min.js"><!----></script><script type="text/javascript" src="search/htmlFileList.js"><!----></script><script type="text/javascript" src="search/htmlFileInfoList.js"><!----></script><script type="text/javascript" src="nwSearchFnt.js"><!----></script><script type="text/javascript" src="search/stemmers/en_stemmer.js"><!--//make this scalable to other languages as well.--></script><script type="text/javascript" src="search/index-1.js"><!----></script><script type="text/javascript" src="search/index-2.js"><!----></script><script type="text/javascript" src="search/index-3.js"><!----></script></head><body><div xmlns="" id="header"><div id="navheader"><!----><table><tr><td style="height: 28px; width: 16px;"><a id="showHideButton" onclick="showHideToc();" class="pointLeft" title="Hide TOC tree">.
</a></td><td><img src="../../common/images/highlight-blue.gif" alt="H" height="25px" onclick="toggleHighlight()" id="showHideHighlight" style="cursor:pointer" title="Přepnout zvýraznění výsledků hledání"/></td><td><a accesskey="p" href="selectKeyboard.html">Předcházející</a>
|
<a accesskey="n" href="ask_mntpoint_s.html">Další</a></td></tr></table></div><div id="headerlogo"><img src="mageia-2013-200p.png" alt="Company Logo"/></div><h1 id="pagetitle">Rozdělení disku<br/> </h1></div><div id="content"><!----><div xml:lang="cs" class="section" title="Rozdělení disku"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="doPartitionDisks"><!----></a>Rozdělení disku</h2></div></div></div><p><a id="doPartitionDisks-pa1"><!----></a>V této obrazovce můžete vidět obsah vašeho pevného disku (disků) a vidět
nalezená řešení průvodce DrakX rozdělováním disku navrhujícího, kam
nainstalovat <span class="application">Mageiu</span>.</p><p><a id="doPartitionDisks-pa2"><!----></a>Volby dostupné z níže uvedeného seznamu se budou lišit v závislosti na
rozložení a obsahu vašeho konkrétního pevného disku.</p><div class="mediaobject" align="center"><img src="images/dx2-doPartitionDisks.png" align="middle"/></div><p><a id="doPartitionDisks-pa3"><!----></a></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a id="doPartitionDisks-pa4"><!----></a>Použít existující oddíly</p><p><a id="doPartitionDisks-pa5"><!----></a>Pokud je dostupná tato volba, potom byly nalezeny stávající s Linuxem
kompatibilní oddíly a tyto mohou být použity pro instalaci.</p></li><li class="listitem"><p><a id="doPartitionDisks-pa6"><!----></a>Použít volné místo</p><p><a id="doPartitionDisks-pa7"><!----></a>Pokud máte nevyužité místo na vašem pevném disku, potom ho tato volba
využije pro novou instalaci Mageii.</p></li><li class="listitem"><p><a id="doPartitionDisks-pa8"><!----></a>Použít volné místo na oddílu Windows</p><p><a id="doPartitionDisks-pa9"><!----></a>Pokud máte nevyužité místo na stávajícím windowsovském oddíle, instalátor
může nabídnout jeho použití.</p><p><a id="doPartitionDisks-pa10"><!----></a>Toto může být užitečná cesta vytvoření prostoru pro vaši novou instalaci
Mageii, ale je to riziková operace, takže byste se měli ujistit, že máte
zazálohovány všechny důležité soubory!</p><p><a id="doPartitionDisks-pa11"><!----></a>Pamatujte, že toto znamená zmenšení velikosti windowsovského oddílu. Oddíl
musí být "čistý", to znamená, že Windows musely být správně vypnuty, když
byly naposledy použity. Též musely být defragmentovány, ačkoli toto není
zárukou, že všechny soubory na oddíle byly přesunuty z oblasti, která má být
použita. Velice se doporučuje provedení zálohy vašich osobních souborů.</p><p>U této volby instalátor zobrazí zůstávající windowsovský oddíl v světlemodré
a budoucí oddíl Mageii v tmavomodré barvě spolu s jejich zamýšlenými
velikostmi pod nimi. Máte možnost přizpůsobit tyto velikosti klepnutím a
přesunutím mezery mezi oběma oddíly. Viz snímek obrazovky níže.</p><div class="mediaobject" align="center"><img src="../../en/content/images/dx2-doPartitionDisks2.png" align="middle"/></div></li></ul></div><p> </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a id="doPartitionDisks-pa12"><!----></a>Smazat a použít celý disk</p><p><a id="doPartitionDisks-pa13"><!----></a>Tato volba použije celé diskové zařízení pro Mageiu.</p><p><a id="doPartitionDisks-pa14"><!----></a>Pozor, toto smaže všechna data na vybraném disku. Buďte opatrní!</p><p><a id="doPartitionDisks-pa15"><!----></a>Pokud zamýšlíte použít část disku na něco jiného, nebo už máte data na onom
disku, která nejste připraveni ztratit, potom tuto volbu nepoužívejte.</p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a id="doPartitionDisks-pa16"><!----></a>Vlastní</p><p><a id="doPartitionDisks-pa17"><!----></a>Toto vám dává úplnou kontrolu nad umístěním instalace na vašem pevném disku
(resp. discích).</p></li></ul></div><p><span class="bold"><strong>Měnění velikostí oddílů:</strong></span></p><p>Instalátor rozdělí dostupné místo podle následujících pravidel:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Pokud je celkové dostupné místo menší než 50 GB, bude vytvořen jen jeden
oddíl pro /, nebude tu žádný samostatný oddíl pro /home.</p></li><li class="listitem"><p>Pokud je celkové dostupné místo nad 50 GB, potom se vytvoří tři oddíly</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>6/19 z celkového dostupného místa je přideleno pro / , nanejvýš však 50 GB</p></li><li class="listitem"><p>1/19 je přiděleno pro swap , nanejvýš však 4 GB</p></li><li class="listitem"><p>zbytek (přinejmenším 12/19) je přiděleno pro /home</p></li></ul></div></li></ul></div><p>To znamená, že v případě 160 GB a víc z dostupného místa, instalátor vytvoří
tři oddíly: 50 GB pro /, 4 GB pro swap a zbytek pro adresář /home.</p><div class="note" title="Poznámka" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Poznámka</h3><p>Pokud používáte systém UEFI, ESP (systémový oddíl EFI) bude automaticky
rozpoznán, nebo vytvořen, pokud ještě neexistuje, a připojen na
/boot/EFI. Volba "Vlastní" je jediná, která vám dovoluje zkontrolovat, že
toto bylo provedeno správně.</p></div><div class="note" title="Poznámka" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Poznámka</h3><p>If you are using a Legacy (as known as CSM or BIOS) system with a GPT disk,
you need to create a Bios boot partition if not already existing. It is an
about 1 MiB partition with no mount point. Choose the "Custom disk
partitioning" option to be able to create it with the Installer like any
other partition, just select BIOS boot partition as filesystem type.</p><div class="mediaobject" align="center"><img src="../../en/content/images/dx2-doPartitionDisks3.png" align="middle"/></div><div class="mediaobject"><img src="../../en/content/images/dx2-doPartitionDisks4.png"/></div></div><div class="warning" title="Varování" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Varování</h3><p>Některé novější mechaniky nyní používají 4096 bajtové logické sektory,
namísto předchozího standardu 512 bajtových logických sektorů. Nástroj na
dělení disku použitý v instalátoru nebyl kvůli nedostatku dostupného
hardware testován s takovou mechanikou. Taktéž některé mechaniky ssd dnes
používají velikost vymazávacího bloku nad 1 MB. Navrhuje se napřed rozdělit
mechaniku, s použitím alternativních nástrojů na rozdělování disku, jakým je
gparted, pokud vlastníte takové zařízení, a použít následující nastavení:</p><p>"Zarovnat na" "MiB"</p><p>"Předcházející volné místo (MiB)" "2"</p><p>Též se ujistěte, že všechny oddíly jsou vytvořeny se sudým počtem megabajtů.</p></div></div><script xmlns="" type="text/javascript" src="main.js"><!----></script><hr xmlns=""/><div xmlns="" class="copyright">© Mageia</div><div xmlns="" class="license"><a href="index.html#CC_BY-SA">CC BY-SA 3.0</a></div><div id="upload_date">Uploaded on 14/07/2017</div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="selectKeyboard.html">Předcházející</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ask_mntpoint_s.html">Další</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Domů</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></div><div><div id="leftnavigation"><div id="tabs"><ul><li><a href="#treeDiv"><em>Obsahy</em></a></li><li><a href="#searchDiv"><em>Hledat</em></a></li></ul><div id="treeDiv"><img src="../../common/images/loading.gif" alt="loading table of contents..." id="tocLoading" style="display:block;"/><div id="ulTreeDiv" style="display:none"><ul id="tree" class="filetree"><li><span class="file section"><a href="Select-and-use-ISOs.html">Vyberte a používejte ISO</a></span><ul><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e18">Úvod</a></span></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e28">Média</a></span><ul><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e30">Definice</a></span></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e35">Klasické instalační nosiče</a></span><ul><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e37">Běžné vlastnosti</a></span></li></ul></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e52">Živé nosiče</a></span><ul><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e54">Běžné vlastnosti</a></span></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e68">Živé DVD Plasma</a></span></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e77">Live DVD GNOME</a></span></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e86">Živé DVD Xfce</a></span></li></ul></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e95">Jen zaváděcí nosiče CD</a></span><ul><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e97">Běžné vlastnosti</a></span></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e108">netinstall.iso</a></span></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e113">netinstall-nonfree.iso</a></span></li></ul></li></ul></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e118">Stahování a zkontrolování nosiče</a></span><ul><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e120">Stažení</a></span></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e132">Ověřování neporušenosti stáhnutého nosiče</a></span></li></ul></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e145">Vypálení nebo vepsání souboru ISO</a></span><ul><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e148">Vypálení souboru ISO na CD/DVD</a></span></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e153">Zapsat ISO na USB flash</a></span><ul><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e159">Použitím grafického nástroje v Mageii</a></span></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e163">Použitím grafického nástroje ve Windows</a></span></li><li><span class="file section"><a href="Select-and-use-ISOs.html#d4e170">Použitím příkazového řádku v systému GNU/Linux</a></span></li></ul></li></ul></li></ul></li><li><span class="file section"><a href="installer.html">DrakX, instalátor Mageii</a></span><ul><li><span class="file section"><a href="installer.html#installationSteps">Instalační kroky</a></span></li><li><span class="file section"><a href="installer.html#installationProblems">Problémy při instalaci a možné řešení</a></span><ul><li><span class="file section"><a href="installer.html#noX">Bez grafického rozhraní</a></span></li><li><span class="file section"><a href="installer.html#installFreezes">Instalace zamrzne</a></span></li><li><span class="file section"><a href="installer.html#kernelOptions">Problém paměti RAM</a></span></li><li><span class="file section"><a href="installer.html#DynamicPartitions">Dynamické oddíly</a></span></li></ul></li></ul></li><li><span class="file section"><a href="selectLanguage.html">Zvolte si, prosím, jazyk, který chcete používat</a></span></li><li><span class="file section"><a href="acceptLicense.html">Licence a poznámky k vydání</a></span><ul><li><span class="file section"><a href="acceptLicense.html#license">Licenční ujednání</a></span></li><li><span class="file section"><a href="acceptLicense.html#releaseNotes">Poznámky k vydání</a></span></li></ul></li><li><span class="file section"><a href="setupSCSI.html">Nastavení SCSI</a></span></li><li><span class="file section"><a href="selectInstallClass.html">Instalace nebo aktualizace</a></span></li><li><span class="file section"><a href="selectKeyboard.html">Klávesnice</a></span></li><li id="webhelp-currentid"><span class="file section"><a href="doPartitionDisks.html">Rozdělení disku</a></span></li><li><span class="file section"><a href="ask_mntpoint_s.html">Zvolte si přípojné body</a></span></li><li><span class="file section"><a href="takeOverHdConfirm.html">Potvrzení naformátování pevného disku</a></span></li><li><span class="file section"><a href="diskdrake.html">Vlastní rozdělení disku pomocí DiskDrake</a></span></li><li><span class="file section"><a href="formatPartitions.html">Formátování</a></span></li><li><span class="file section"><a href="add_supplemental_media.html">Výběr zdroje (nastavení doplňkových instalačních zdrojů)</a></span></li><li><span class="file section"><a href="media_selection.html">Výběr zdrojů (Nonfree)</a></span></li><li><span class="file section"><a href="chooseDesktop.html">Výběr pracovního prostředí</a></span></li><li><span class="file section"><a href="choosePackageGroups.html">Výběr skupiny balíčků</a></span></li><li><span class="file section"><a href="minimal-install.html">Minimální instalace</a></span></li><li><span class="file section"><a href="choosePackagesTree.html">Výběr jednotlivých balíčků</a></span></li><li><span class="file section"><a href="addUser.html">Správa uživatele a superuživatele</a></span><ul><li><span class="file section"><a href="addUser.html#root-password">Nastavení hesla správce (uživatele root):</a></span></li><li><span class="file section"><a href="addUser.html#enterUser">Zadejte uživatele</a></span></li><li><span class="file section"><a href="addUser.html#addUserAdvanced">Rozšířená správa uživatelů</a></span></li></ul></li><li><span class="file section"><a href="configureX_chooser.html">Nastavení grafické karty a monitoru</a></span></li><li><span class="file section"><a href="configureX_card_list.html">Výběr X Serveru (Konfigurace vaší grafické karty)</a></span></li><li><span class="file section"><a href="configureX_monitor.html">Výběr monitoru</a></span></li><li><span class="file section"><a href="setupBootloader.html">Základní nastavení zaváděcího programu</a></span><ul><li><span class="file section"><a href="setupBootloader.html#d4e847">Rozhraní zavaděče</a></span><ul><li><span class="file section"><a href="setupBootloader.html#d4e857">Grub2 on Legacy/MBR and Legacy/GPT systems</a></span></li><li><span class="file section"><a href="setupBootloader.html#d4e863">Grub2-efi na UEFI systémech</a></span></li></ul></li><li><span class="file section"><a href="setupBootloader.html#d4e871">Použití zavaděče Mageii</a></span></li><li><span class="file section"><a href="setupBootloader.html#d4e885">Použití už existujícího zavaděče</a></span></li><li><span class="file section"><a href="setupBootloader.html#d4e888">Using chain loading</a></span></li><li><span class="file section"><a href="setupBootloader.html#d4e902">Volby</a></span><ul><li><span class="file section"><a href="setupBootloader.html#d4e904">První strana</a></span></li><li><span class="file section"><a href="setupBootloader.html#d4e936">Další strana</a></span></li></ul></li></ul></li><li><span class="file section"><a href="setupBootloaderAddEntry.html">Přidaní nebo změna položky v nabídce zavaděče</a></span></li><li><span class="file section"><a href="misc-params.html">Souhrn různých parametrů</a></span><ul><li><span class="file section"><a href="misc-params.html#misc-params-system">Systémové parametry</a></span></li><li><span class="file section"><a href="misc-params.html#misc-params-hardware">Hardwarové parametry</a></span></li><li><span class="file section"><a href="misc-params.html#misc-params-network">Parametry sítě a internetu</a></span></li><li><span class="file section"><a href="misc-params.html#misc-params-security">Bezpečnost</a></span></li></ul></li><li><span class="file section"><a href="configureTimezoneUTC.html">Nastavení časového pásma</a></span></li><li><span class="file section"><a href="selectCountry.html">Vyberte zemi</a></span><ul><li><span class="file section"><a href="selectCountry.html#inputMethod">Vstupní metoda</a></span></li></ul></li><li><span class="file section"><a href="configureServices.html">Nastavení služeb</a></span></li><li><span class="file section"><a href="selectMouse.html">Výběr myši</a></span></li><li><span class="file section"><a href="soundConfig.html">Nastavení zvuku</a></span><ul><li><span class="file section"><a href="soundConfig.html#soundConfig-Advanced">Rozšíření</a></span></li></ul></li><li><span class="file section"><a href="securityLevel.html">Úroveň zabezpečení</a></span></li><li><span class="file section"><a href="installUpdates.html">Aktualizace</a></span></li><li><span class="file section"><a href="exitInstall.html">Gratulujeme</a></span></li><li><span class="file section"><a href="uninstall-Mageia.html">Odinstalování Mageii</a></span><ul><li><span class="file section"><a href="uninstall-Mageia.html#d4e1192">Jak na to</a></span></li></ul></li></ul></div></div><div id="searchDiv"><div id="search"><form onsubmit="Verifie(ditaSearch_Form);return false" name="ditaSearch_Form" class="searchForm"><fieldset class="searchFieldSet"><legend>Hledat</legend><center><input id="textToSearch" name="textToSearch" type="text" class="searchText"/> <input onclick="Verifie(ditaSearch_Form)" type="button" class="searchButton" value="Go" id="doSearch"/></center></fieldset></form></div><div id="searchResults"><center/></div></div></div></div></div></body></html>
|
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
<?php
/**
*
* @package install
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!defined('IN_INSTALL'))
{
// Someone has tried to access the file direct. This is not a good idea, so exit
exit;
}
if (!empty($setmodules))
{
// If phpBB is already installed we do not include this module
if (@file_exists($phpbb_root_path . 'config.' . $phpEx) && !file_exists($phpbb_root_path . 'cache/install_lock'))
{
include_once($phpbb_root_path . 'config.' . $phpEx);
if (defined('PHPBB_INSTALLED'))
{
return;
}
}
$module[] = array(
'module_type' => 'install',
'module_title' => 'INSTALL',
'module_filename' => substr(basename(__FILE__), 0, -strlen($phpEx)-1),
'module_order' => 10,
'module_subs' => '',
'module_stages' => array('INTRO', 'REQUIREMENTS', 'DATABASE', 'ADMINISTRATOR', 'CONFIG_FILE', 'ADVANCED', 'CREATE_TABLE', 'FINAL'),
'module_reqs' => ''
);
}
/**
* Installation
* @package install
*/
class install_install extends module
{
function install_install(&$p_master)
{
$this->p_master = &$p_master;
}
function main($mode, $sub)
{
global $lang, $template, $language, $phpbb_root_path;
switch ($sub)
{
case 'intro':
$this->page_title = $lang['SUB_INTRO'];
$template->assign_vars(array(
'TITLE' => $lang['INSTALL_INTRO'],
'BODY' => $lang['INSTALL_INTRO_BODY'],
'L_SUBMIT' => $lang['NEXT_STEP'],
'S_LANG_SELECT' => '<select id="language" name="language">' . $this->p_master->inst_language_select($language) . '</select>',
'U_ACTION' => $this->p_master->module_url . "?mode=$mode&sub=requirements&language=$language",
));
break;
case 'requirements':
$this->check_server_requirements($mode, $sub);
break;
case 'database':
$this->obtain_database_settings($mode, $sub);
break;
case 'administrator':
$this->obtain_admin_settings($mode, $sub);
break;
case 'config_file':
$this->create_config_file($mode, $sub);
break;
case 'advanced':
$this->obtain_advanced_settings($mode, $sub);
break;
case 'create_table':
$this->load_schema($mode, $sub);
break;
case 'final':
$this->build_search_index($mode, $sub);
$this->add_modules($mode, $sub);
$this->add_language($mode, $sub);
$this->add_bots($mode, $sub);
$this->email_admin($mode, $sub);
// Remove the lock file
@unlink($phpbb_root_path . 'cache/install_lock');
break;
}
$this->tpl_name = 'install_install';
}
/**
* Checks that the server we are installing on meets the requirements for running phpBB
*/
function check_server_requirements($mode, $sub)
{
global $lang, $template, $phpbb_root_path, $phpEx, $language;
$this->page_title = $lang['STAGE_REQUIREMENTS'];
$template->assign_vars(array(
'TITLE' => $lang['REQUIREMENTS_TITLE'],
'BODY' => $lang['REQUIREMENTS_EXPLAIN'],
));
$passed = array('php' => false, 'db' => false, 'files' => false, 'pcre' => false, 'imagesize' => false,);
// Test for basic PHP settings
$template->assign_block_vars('checks', array(
'S_LEGEND' => true,
'LEGEND' => $lang['PHP_SETTINGS'],
'LEGEND_EXPLAIN' => $lang['PHP_SETTINGS_EXPLAIN'],
));
// Test the minimum PHP version
$php_version = PHP_VERSION;
if (version_compare($php_version, '5.2.0') < 0)
{
$result = '<strong style="color:red">' . $lang['NO'] . '</strong>';
}
else
{
$passed['php'] = true;
// We also give feedback on whether we're running in safe mode
$result = '<strong style="color:green">' . $lang['YES'];
if (@ini_get('safe_mode') == '1' || strtolower(@ini_get('safe_mode')) == 'on')
{
$result .= ', ' . $lang['PHP_SAFE_MODE'];
}
$result .= '</strong>';
}
$template->assign_block_vars('checks', array(
'TITLE' => $lang['PHP_VERSION_REQD'],
'RESULT' => $result,
'S_EXPLAIN' => false,
'S_LEGEND' => false,
));
// Check for register_globals being enabled
if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on')
{
$result = '<strong style="color:red">' . $lang['NO'] . '</strong>';
}
else
{
$result = '<strong style="color:green">' . $lang['YES'] . '</strong>';
}
$template->assign_block_vars('checks', array(
'TITLE' => $lang['PHP_REGISTER_GLOBALS'],
'TITLE_EXPLAIN' => $lang['PHP_REGISTER_GLOBALS_EXPLAIN'],
'RESULT' => $result,
'S_EXPLAIN' => true,
'S_LEGEND' => false,
));
// Check for url_fopen
if (@ini_get('allow_url_fopen') == '1' || strtolower(@ini_get('allow_url_fopen')) == 'on')
{
$result = '<strong style="color:green">' . $lang['YES'] . '</strong>';
}
else
{
$result = '<strong style="color:red">' . $lang['NO'] . '</strong>';
}
$template->assign_block_vars('checks', array(
'TITLE' => $lang['PHP_URL_FOPEN_SUPPORT'],
'TITLE_EXPLAIN' => $lang['PHP_URL_FOPEN_SUPPORT_EXPLAIN'],
'RESULT' => $result,
'S_EXPLAIN' => true,
'S_LEGEND' => false,
));
// Check for getimagesize
if (@function_exists('getimagesize'))
{
$passed['imagesize'] = true;
$result = '<strong style="color:green">' . $lang['YES'] . '</strong>';
}
else
{
$result = '<strong style="color:red">' . $lang['NO'] . '</strong>';
}
$template->assign_block_vars('checks', array(
'TITLE' => $lang['PHP_GETIMAGESIZE_SUPPORT'],
'TITLE_EXPLAIN' => $lang['PHP_GETIMAGESIZE_SUPPORT_EXPLAIN'],
'RESULT' => $result,
'S_EXPLAIN' => true,
'S_LEGEND' => false,
));
// Check for PCRE UTF-8 support
if (@preg_match('//u', ''))
{
$passed['pcre'] = true;
$result = '<strong style="color:green">' . $lang['YES'] . '</strong>';
}
else
{
$result = '<strong style="color:red">' . $lang['NO'] . '</strong>';
}
$template->assign_block_vars('checks', array(
'TITLE' => $lang['PCRE_UTF_SUPPORT'],
'TITLE_EXPLAIN' => $lang['PCRE_UTF_SUPPORT_EXPLAIN'],
'RESULT' => $result,
'S_EXPLAIN' => true,
'S_LEGEND' => false,
));
/**
* Better not enabling and adding to the loaded extensions due to the specific requirements needed
if (!@extension_loaded('mbstring'))
{
can_load_dll('mbstring');
}
*/
$passed['mbstring'] = true;
if (@extension_loaded('mbstring'))
{
// Test for available database modules
$template->assign_block_vars('checks', array(
'S_LEGEND' => true,
'LEGEND' => $lang['MBSTRING_CHECK'],
'LEGEND_EXPLAIN' => $lang['MBSTRING_CHECK_EXPLAIN'],
));
$checks = array(
array('func_overload', '&', MB_OVERLOAD_MAIL|MB_OVERLOAD_STRING),
array('encoding_translation', '!=', 0),
array('http_input', '!=', 'pass'),
array('http_output', '!=', 'pass')
);
foreach ($checks as $mb_checks)
{
$ini_val = @ini_get('mbstring.' . $mb_checks[0]);
switch ($mb_checks[1])
{
case '&':
if (intval($ini_val) & $mb_checks[2])
{
$result = '<strong style="color:red">' . $lang['NO'] . '</strong>';
$passed['mbstring'] = false;
}
else
{
$result = '<strong style="color:green">' . $lang['YES'] . '</strong>';
}
break;
case '!=':
if ($ini_val != $mb_checks[2])
{
$result = '<strong style="color:red">' . $lang['NO'] . '</strong>';
$passed['mbstring'] = false;
}
else
{
$result = '<strong style="color:green">' . $lang['YES'] . '</strong>';
}
break;
}
$template->assign_block_vars('checks', array(
'TITLE' => $lang['MBSTRING_' . strtoupper($mb_checks[0])],
'TITLE_EXPLAIN' => $lang['MBSTRING_' . strtoupper($mb_checks[0]) . '_EXPLAIN'],
'RESULT' => $result,
'S_EXPLAIN' => true,
'S_LEGEND' => false,
));
}
}
// Test for available database modules
$template->assign_block_vars('checks', array(
'S_LEGEND' => true,
'LEGEND' => $lang['PHP_SUPPORTED_DB'],
'LEGEND_EXPLAIN' => $lang['PHP_SUPPORTED_DB_EXPLAIN'],
));
$available_dbms = get_available_dbms(false, true);
$passed['db'] = $available_dbms['ANY_DB_SUPPORT'];
unset($available_dbms['ANY_DB_SUPPORT']);
foreach ($available_dbms as $db_name => $db_ary)
{
if (!$db_ary['AVAILABLE'])
{
$template->assign_block_vars('checks', array(
'TITLE' => $lang['DLL_' . strtoupper($db_name)],
'RESULT' => '<span style="color:red">' . $lang['UNAVAILABLE'] . '</span>',
'S_EXPLAIN' => false,
'S_LEGEND' => false,
));
}
else
{
$template->assign_block_vars('checks', array(
'TITLE' => $lang['DLL_' . strtoupper($db_name)],
'RESULT' => '<strong style="color:green">' . $lang['AVAILABLE'] . '</strong>',
'S_EXPLAIN' => false,
'S_LEGEND' => false,
));
}
}
// Test for other modules
$template->assign_block_vars('checks', array(
'S_LEGEND' => true,
'LEGEND' => $lang['PHP_OPTIONAL_MODULE'],
'LEGEND_EXPLAIN' => $lang['PHP_OPTIONAL_MODULE_EXPLAIN'],
));
foreach ($this->php_dlls_other as $dll)
{
if (!@extension_loaded($dll))
{
if (!can_load_dll($dll))
{
$template->assign_block_vars('checks', array(
'TITLE' => $lang['DLL_' . strtoupper($dll)],
'RESULT' => '<strong style="color:red">' . $lang['UNAVAILABLE'] . '</strong>',
'S_EXPLAIN' => false,
'S_LEGEND' => false,
));
continue;
}
}
$template->assign_block_vars('checks', array(
'TITLE' => $lang['DLL_' . strtoupper($dll)],
'RESULT' => '<strong style="color:green">' . $lang['AVAILABLE'] . '</strong>',
'S_EXPLAIN' => false,
'S_LEGEND' => false,
));
}
// Can we find Imagemagick anywhere on the system?
$exe = (DIRECTORY_SEPARATOR == '\\') ? '.exe' : '';
$magic_home = getenv('MAGICK_HOME');
$img_imagick = '';
if (empty($magic_home))
{
$locations = array('C:/WINDOWS/', 'C:/WINNT/', 'C:/WINDOWS/SYSTEM/', 'C:/WINNT/SYSTEM/', 'C:/WINDOWS/SYSTEM32/', 'C:/WINNT/SYSTEM32/', '/usr/bin/', '/usr/sbin/', '/usr/local/bin/', '/usr/local/sbin/', '/opt/', '/usr/imagemagick/', '/usr/bin/imagemagick/');
$path_locations = str_replace('\\', '/', (explode(($exe) ? ';' : ':', getenv('PATH'))));
$locations = array_merge($path_locations, $locations);
foreach ($locations as $location)
{
// The path might not end properly, fudge it
if (substr($location, -1, 1) !== '/')
{
$location .= '/';
}
if (@file_exists($location) && @is_readable($location . 'mogrify' . $exe) && @filesize($location . 'mogrify' . $exe) > 3000)
{
$img_imagick = str_replace('\\', '/', $location);
continue;
}
}
}
else
{
$img_imagick = str_replace('\\', '/', $magic_home);
}
$template->assign_block_vars('checks', array(
'TITLE' => $lang['APP_MAGICK'],
'RESULT' => ($img_imagick) ? '<strong style="color:green">' . $lang['AVAILABLE'] . ', ' . $img_imagick . '</strong>' : '<strong style="color:blue">' . $lang['NO_LOCATION'] . '</strong>',
'S_EXPLAIN' => false,
'S_LEGEND' => false,
));
// Check permissions on files/directories we need access to
$template->assign_block_vars('checks', array(
'S_LEGEND' => true,
'LEGEND' => $lang['FILES_REQUIRED'],
'LEGEND_EXPLAIN' => $lang['FILES_REQUIRED_EXPLAIN'],
));
$directories = array('cache/', 'files/', 'store/');
umask(0);
$passed['files'] = true;
foreach ($directories as $dir)
{
$exists = $write = false;
// Try to create the directory if it does not exist
if (!file_exists($phpbb_root_path . $dir))
{
@mkdir($phpbb_root_path . $dir, 0777);
phpbb_chmod($phpbb_root_path . $dir, CHMOD_READ | CHMOD_WRITE);
}
// Now really check
if (file_exists($phpbb_root_path . $dir) && is_dir($phpbb_root_path . $dir))
{
phpbb_chmod($phpbb_root_path . $dir, CHMOD_READ | CHMOD_WRITE);
$exists = true;
}
// Now check if it is writable by storing a simple file
$fp = @fopen($phpbb_root_path . $dir . 'test_lock', 'wb');
if ($fp !== false)
{
$write = true;
}
@fclose($fp);
@unlink($phpbb_root_path . $dir . 'test_lock');
$passed['files'] = ($exists && $write && $passed['files']) ? true : false;
$exists = ($exists) ? '<strong style="color:green">' . $lang['FOUND'] . '</strong>' : '<strong style="color:red">' . $lang['NOT_FOUND'] . '</strong>';
$write = ($write) ? ', <strong style="color:green">' . $lang['WRITABLE'] . '</strong>' : (($exists) ? ', <strong style="color:red">' . $lang['UNWRITABLE'] . '</strong>' : '');
$template->assign_block_vars('checks', array(
'TITLE' => $dir,
'RESULT' => $exists . $write,
'S_EXPLAIN' => false,
'S_LEGEND' => false,
));
}
// Check permissions on files/directories it would be useful access to
$template->assign_block_vars('checks', array(
'S_LEGEND' => true,
'LEGEND' => $lang['FILES_OPTIONAL'],
'LEGEND_EXPLAIN' => $lang['FILES_OPTIONAL_EXPLAIN'],
));
$directories = array('config.' . $phpEx, 'images/avatars/upload/');
foreach ($directories as $dir)
{
$write = $exists = true;
if (file_exists($phpbb_root_path . $dir))
{
if (!phpbb_is_writable($phpbb_root_path . $dir))
{
$write = false;
}
}
else
{
$write = $exists = false;
}
$exists_str = ($exists) ? '<strong style="color:green">' . $lang['FOUND'] . '</strong>' : '<strong style="color:red">' . $lang['NOT_FOUND'] . '</strong>';
$write_str = ($write) ? ', <strong style="color:green">' . $lang['WRITABLE'] . '</strong>' : (($exists) ? ', <strong style="color:red">' . $lang['UNWRITABLE'] . '</strong>' : '');
$template->assign_block_vars('checks', array(
'TITLE' => $dir,
'RESULT' => $exists_str . $write_str,
'S_EXPLAIN' => false,
'S_LEGEND' => false,
));
}
// And finally where do we want to go next (well today is taken isn't it :P)
$s_hidden_fields = ($img_imagick) ? '<input type="hidden" name="img_imagick" value="' . addslashes($img_imagick) . '" />' : '';
$url = (!in_array(false, $passed)) ? $this->p_master->module_url . "?mode=$mode&sub=database&language=$language" : $this->p_master->module_url . "?mode=$mode&sub=requirements&language=$language ";