summaryrefslogtreecommitdiffstats
path: root/inc/templates/adminform.php
blob: 5a04c4902ac8c411bc12ed199079cdfbfaad2958 (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
<?php
global $WEBROOT;
global $FIRSTRUN;
global $CONFIG_ENABLEBACKUP;
global $CONFIG_DATADIRECTORY_ROOT;
global $CONFIG_BACKUPDIRECTORY;
global $CONFIG_ERROR;
$f=@fopen($SERVERROOT.'/config/config.php','a+');
if(!$f) die('Error: Config file (config/config.php) is not writable for the webserver.<br/>');
@fclose($f);
if(!isset($fillDB)) $fillDB=true;
if(!isset($CONFIG_DBHOST)) $CONFIG_DBHOST='localhost';
if(!isset($CONFIG_DBUSER)) $CONFIG_DBUSER='owncloud';
if(!isset($CONFIG_DBTABLEPREFIX)) $CONFIG_DBTABLEPREFIX='oc_';
?>
<script type="text/javascript">
function showDBAdmin(){
	var show=document.getElementById('dbcreate').checked;
	document.getElementById('dbAdminUser').style.display=(show)?'table-row':'none';
	document.getElementById('dbAdminPwd').style.display=(show)?'table-row':'none';
}

function showBackupPath(){
	var show=document.getElementById('enablebackup').checked;
	document.getElementById('backupdir').style.display=(show)?'table-row':'none';
}

function dbtypechange(){
	var dropdown=action=document.getElementById('dbtype');
	if (dropdown){
		var type=dropdown.options[dropdown.selectedIndex].value;
		var inputs=Array('dbhost','dbuser','dbpass','dbpass_retype','dbcreaterow','dbAdminPwd','dbAdminUser','dbname','dbfill','dbtableprefix');
		var id,element;
		if(type=='sqlite'){
			for(i in inputs){
				id=inputs[i];
				element=document.getElementById(id);
				if(element){
					element.style.display='none';
				}
			}
		}else if(type=='mysql' || type=='pgsql'){
			for(i in inputs){
				id=inputs[i];
				element=document.getElementById(id);
				if(element){
					element.style.display='table-row';
				}
			}
			showDBAdmin();
		}
	}
}

function datetypechange(){
	var dropdown=action=document.getElementById('datetype');
	var type=dropdown.options[dropdown.selectedIndex].value;

	var id,element;
	if(type=='custom'){
		element=document.getElementById('trdateformat');
		if(element){
			element.style.display='table-row';
		}
	}else{
		element=document.getElementById('trdateformat');
		if(element){
			element.style.display='none';
		}
		element=document.getElementById('inputdateformat');
		if(element){
			element.value = type;
		}
	}
}
</script>
<?php
if(!$FIRSTRUN){
	$action=$WEBROOT.'/settings/#system_settings';
}else{
	$action='#';
}
echo('<form method="post" action="'.$action.'">')
?>
<table cellpadding="5" cellspacing="5" border="0" class="loginform">
<?php
	if(!empty($CONFIG_ERROR) and !$FIRSTRUN){
		echo "<tr><td colspan='3' class='error'>$CONFIG_ERROR</td></tr>";
	}
if($FIRSTRUN){?>
<tr><th colspan="2">Administrator User</th></tr>
<tr title="Name used to log in."><td>user name:</td><td><input type="text" name="adminlogin" size="30" class="formstyle" value=""></input></td></tr>
<tr title="Make a secure password, use at least 9 characters. Use letters and numbers."><td>password:</td><td><input type="password" name="adminpassword" size="30" class="formstyle"></input></td></tr>
<tr title="Retype password to avoid typing errors."><td>retype password:</td><td><input type="password" name="adminpassword2" size="30" class="formstyle"></input></td></tr>
<?php
}
?>
<tr><th colspan="2">Advanced Configuration</th></tr>
<?php if($FIRSTRUN){?>
<tr title="This directory is used to store files."><td>data directory:</td><td><input type="text" name="datadirectory" size="30" class="formstyle" value="<?php echo($CONFIG_DATADIRECTORY_ROOT);?>"></input></td></tr>
<?php } ?>
<tr title="Using SSL is more secure but requires specific configurations. Click the link to test SSL on your server."><td>force ssl: (<a href="https://<?php echo($_SERVER["HTTP_HOST"].$WEBROOT);?>" target="_blank">test SLL</a>)</td><td><input type="checkbox" name="forcessl" size="30" class="formstyle" value='1' <?php if($CONFIG_HTTPFORCESSL) echo 'checked="checked"'?>></input></td></tr>
<tr title="If something goes wrong, it is often possible to protect your data using a back-up."><td>automatic backup:</td><td><input type="checkbox" name="enablebackup" id="enablebackup" onchange='showBackupPath()' size="30" class="formstyle" value='1' <?php if($CONFIG_ENABLEBACKUP) echo 'checked'?>></input></td></tr>
<tr title="This directory is used to store backups." id='backupdir'><td>&nbsp; - backup directory:</td><td><input type="text" name="backupdirectory" size="30" class="formstyle" value="<?php echo($CONFIG_BACKUPDIRECTORY);?>"></input></td></tr>
<tr><td>date format:</td><td><select id='datetype' name="datetype" onchange='datetypechange()'>
	<option value='<?php echo($CONFIG_DATEFORMAT);?>'><?php echo(date($CONFIG_DATEFORMAT));?></option>
	<!-- dd-mm-yyyy yyyy-mm-dd mm-dd-yyyy -->
	<optgroup label="DD-MM-YYYY">
		<option value='j M Y G:i'><?php echo(date('j M Y G:i'));?></option>
		<option value='j M Y'><?php echo(date('j M Y'));?></option>
		<option value='D j M Y G:i:s'><?php echo(date('D j M Y G:i:s'));?></option>
		<option value='l j F'><?php echo(date('l j F'));?></option>
		<option value='d-m-Y G:i'><?php echo(date('d-m-Y H:i'));?></option>
	</optgroup>
	<optgroup label="MM-DD-YYYY">
		<option value='M j Y G:i'><?php echo(date('M j Y G:i'));?></option>
		<option value='M j Y'><?php echo(date('M j Y'));?></option>
	</optgroup>
	<optgroup label="YYYY-MM-DD">
		<option value='Y M j G:i'><?php echo(date('Y M j G:i'));?></option>
		<option value='Y M j'><?php echo(date('Y M j'));?></option>
	</optgroup>
	<option value='custom'>Custom Date</option>
</select></td></tr>
<tr id='trdateformat'><td>&nbsp; - custom date:</td><td><input type="text" id="inputdateformat" name="dateformat" size="30" class="formstyle" value='<?php echo($CONFIG_DATEFORMAT);?>'></input></td></tr>
<?php if($FIRSTRUN){
	if(!is_callable('sqlite_open')){
		echo '<tr><td colspan="2">No SQLite support detected, make sure you have both sqlite and the sqlite php module installed (sqlite and php5-sqlite for Debian/Ubuntu)</td></tr>';
	}
?>
<tr title="SQLite is usually the easiest database to work with."><td>database type:</td><td>
<select id='dbtype' name="dbtype" onchange='dbtypechange()'>
<?php
global $CONFIG_DBTYPE;
if($CONFIG_DBTYPE=='sqlite'){
	if(is_callable('sqlite_open')){
		echo "<option value='sqlite'>SQLite</option>";
	}
	if(is_callable('mysql_connect')){
		echo "<option value='mysql'>MySQL</option>";
	}
	if(is_callable('pg_connect')){
		echo "<option value='pgsql'>PostgreSQL</option>";
	}
}elseif($CONFIG_DBTYPE=='mysql'){
	if(is_callable('mysql_connect')){
		echo "<option value='mysql'>MySQL</option>";
	}
	if(is_callable('sqlite_open')){
		echo "<option value='sqlite'>SQLite</option>";
	}
	if(is_callable('pg_connect')){
		echo "<option value='pgsql'>PostgreSQL</option>";
	}
}elseif($CONFIG_DBTYPE=='pgsql'){
	if(is_callable('pg_connect')){
		echo "<option value='pgsql'>PostgreSQL</option>";
	}
	if(is_callable('mysql_connect')){
		echo "<option value='mysql'>MySQL</option>";
	}
	if(is_callable('sqlite_open')){
		echo "<option value='sqlite'>SQLite</option>";
	}
}
?>
</select>
</td></tr>
<tr title="The database server. In most cases, localhost works fine." id='dbhost'><td>&nbsp; - database host:</td><td><input type="text" name="dbhost" size="30" class="formstyle" value='<?php echo($CONFIG_DBHOST);?>'></input></td></tr>
<tr title="The name of the database." id='dbname'><td>&nbsp; - database name:</td><td><input type="text" name="dbname" size="30" class="formstyle" value='<?php echo($CONFIG_DBNAME);?>'></input></td></tr>
<tr title="Used to avoid conflict between web-applications. Don't use the same prefix for two web-applications." id='dbtableprefix'><td>&nbsp; - table prefix:</td><td><input type="text" name="dbtableprefix" size="30" class="formstyle" value='<?php echo($CONFIG_DBTABLEPREFIX);?>'></input></td></tr>
<tr title="The user of the database. If possible avoid the root user." id='dbuser'><td>&nbsp; - database user:</td><td><input type="text" name="dbuser" size="30" class="formstyle" value='<?php echo($CONFIG_DBUSER);?>'></input></td></tr>
<tr title="The password of the database." id='dbpass'><td>&nbsp; &nbsp; &nbsp; - password:</td><td><input type="password" name="dbpassword" size="30" class="formstyle" value=''></input></td></tr>
<tr title="Retype password to avoid typing errors." id='dbpass_retype'><td>&nbsp; &nbsp; &nbsp; - retype password:</td><td><input type="password" name="dbpassword2" size="30" class="formstyle" value=''></input></td></tr>
<tr title="Automatically create a database and user for ownCloud." id='dbcreaterow'><td>&nbsp; - create database and user:</td><td><input id='dbcreate' type="checkbox" name="createdatabase" size="30" class="formstyle" value='1' checked="checked" onchange='showDBAdmin()'></input></td></tr>
<tr title="The administrative database user. This is often 'root'. If in doubt, contact your web-host" id='dbAdminUser'><td>&nbsp; &nbsp;  &nbsp; - administrative user:</td><td><input type="text" name="dbadminuser" size="30" class="formstyle" value='root'></input></td></tr>
<tr title="The password of the administrative database user. If in doubt, contact your web-host." id='dbAdminPwd'><td>&nbsp; &nbsp; &nbsp; - administrative password:</td><td><input type="password" name="dbadminpwd" size="30" class="formstyle" value=''></input></td></tr>
<tr title="Fill database with default data so you can start right away." id='dbfill'><td>&nbsp; - fill initial database:</td><td><input type="checkbox" name="filldb" size="30" class="formstyle" value='1' checked="checked"></input></td></tr>
<?php }?>
<tr><th colspan="2">Confirmation</th></tr>
<?php
	if(!$FIRSTRUN){?>
		<tr title="This is to avoid abuse while you are away and have not logged out decently."><td>your password:</td><td><input type="password" name="currentpassword" size="30" class="formstyle"></input></td></tr>
		<?php
	}
?>
<tr><td></td><td><input type="submit" name="set_config" alt="save" value="save" class="formstyle" /></td></tr>
</table></form><br/>
<script type="text/javascript">
	dbtypechange();
	datetypechange();
	showBackupPath();
</script>