2014-12-10 15:59:03 +00:00
|
|
|
<?php
|
|
|
|
script('core', [
|
|
|
|
'jquery-showpassword',
|
|
|
|
'installation'
|
|
|
|
]);
|
|
|
|
?>
|
2013-02-27 21:55:39 +00:00
|
|
|
<input type='hidden' id='hasMySQL' value='<?php p($_['hasMySQL']) ?>'>
|
|
|
|
<input type='hidden' id='hasSQLite' value='<?php p($_['hasSQLite']) ?>'>
|
|
|
|
<input type='hidden' id='hasPostgreSQL' value='<?php p($_['hasPostgreSQL']) ?>'>
|
|
|
|
<input type='hidden' id='hasOracle' value='<?php p($_['hasOracle']) ?>'>
|
2011-08-08 15:57:45 +00:00
|
|
|
<form action="index.php" method="post">
|
2015-03-19 08:10:58 +00:00
|
|
|
<input type="hidden" name="install" value="true">
|
2011-08-08 15:57:45 +00:00
|
|
|
<?php if(count($_['errors']) > 0): ?>
|
2013-12-05 10:23:30 +00:00
|
|
|
<fieldset class="warning">
|
|
|
|
<legend><strong><?php p($l->t('Error'));?></strong></legend>
|
2011-08-08 15:57:45 +00:00
|
|
|
<?php foreach($_['errors'] as $err): ?>
|
2013-12-05 10:23:30 +00:00
|
|
|
<p>
|
2011-08-08 15:57:45 +00:00
|
|
|
<?php if(is_array($err)):?>
|
2013-02-27 21:55:39 +00:00
|
|
|
<?php print_unescaped($err['error']); ?>
|
2013-12-05 10:23:30 +00:00
|
|
|
<span class='hint'><?php print_unescaped($err['hint']); ?></span>
|
2011-05-17 20:34:31 +00:00
|
|
|
<?php else: ?>
|
2013-02-27 21:55:39 +00:00
|
|
|
<?php print_unescaped($err); ?>
|
2011-05-17 20:34:31 +00:00
|
|
|
<?php endif; ?>
|
2013-12-05 10:23:30 +00:00
|
|
|
</p>
|
2011-08-08 15:57:45 +00:00
|
|
|
<?php endforeach; ?>
|
2013-12-05 10:23:30 +00:00
|
|
|
</fieldset>
|
2011-08-08 15:57:45 +00:00
|
|
|
<?php endif; ?>
|
2012-10-15 21:25:10 +00:00
|
|
|
<?php if(!$_['htaccessWorking']): ?>
|
2012-12-04 23:25:58 +00:00
|
|
|
<fieldset class="warning">
|
2015-04-09 09:27:24 +00:00
|
|
|
<legend><strong><?php p($l->t('Security warning'));?></strong></legend>
|
2013-02-27 21:55:39 +00:00
|
|
|
<p><?php p($l->t('Your data directory and files are probably accessible from the internet because the .htaccess file does not work.'));?><br>
|
2013-07-11 15:39:44 +00:00
|
|
|
<?php print_unescaped($l->t(
|
2017-10-19 10:16:04 +00:00
|
|
|
'For information how to properly configure your server, please see the <a href="%s" target="_blank" rel="noreferrer noopener">documentation</a>.',
|
2018-02-21 19:30:44 +00:00
|
|
|
[link_to_docs('admin-install')]
|
2013-07-11 15:39:44 +00:00
|
|
|
)); ?></p>
|
2012-10-15 21:25:10 +00:00
|
|
|
</fieldset>
|
|
|
|
<?php endif; ?>
|
2012-12-04 22:55:31 +00:00
|
|
|
<fieldset id="adminaccount">
|
2013-02-27 21:55:39 +00:00
|
|
|
<legend><?php print_unescaped($l->t( 'Create an <strong>admin account</strong>' )); ?></legend>
|
2014-05-06 10:14:11 +00:00
|
|
|
<p class="grouptop">
|
|
|
|
<input type="text" name="adminlogin" id="adminlogin"
|
|
|
|
placeholder="<?php p($l->t( 'Username' )); ?>"
|
2014-02-18 09:58:00 +00:00
|
|
|
value="<?php p($_['adminlogin']); ?>"
|
2017-03-18 15:00:21 +00:00
|
|
|
autocomplete="off" autocapitalize="none" autocorrect="off" autofocus required>
|
2013-02-27 21:55:39 +00:00
|
|
|
<label for="adminlogin" class="infield"><?php p($l->t( 'Username' )); ?></label>
|
2011-10-03 12:41:55 +00:00
|
|
|
</p>
|
2014-05-06 10:14:11 +00:00
|
|
|
<p class="groupbottom">
|
|
|
|
<input type="password" name="adminpass" data-typetoggle="#show" id="adminpass"
|
|
|
|
placeholder="<?php p($l->t( 'Password' )); ?>"
|
2014-02-18 09:58:00 +00:00
|
|
|
value="<?php p($_['adminpass']); ?>"
|
2017-03-18 15:00:21 +00:00
|
|
|
autocomplete="off" autocapitalize="none" autocorrect="off" required>
|
2013-02-27 21:55:39 +00:00
|
|
|
<label for="adminpass" class="infield"><?php p($l->t( 'Password' )); ?></label>
|
2019-01-25 11:00:16 +00:00
|
|
|
<input type="checkbox" id="show" class="hidden-visually" name="show">
|
2016-06-23 11:39:28 +00:00
|
|
|
<label for="show"></label>
|
2011-10-03 12:41:55 +00:00
|
|
|
</p>
|
2011-08-08 19:40:39 +00:00
|
|
|
</fieldset>
|
2011-10-03 11:32:16 +00:00
|
|
|
|
2013-10-11 11:47:28 +00:00
|
|
|
<?php if(!$_['directoryIsSet'] OR !$_['dbIsSet'] OR count($_['errors']) > 0): ?>
|
2013-10-05 00:46:00 +00:00
|
|
|
<fieldset id="advancedHeader">
|
2019-03-12 14:30:03 +00:00
|
|
|
<legend><a id="showAdvanced" tabindex="0" href="#"><?php p($l->t( 'Storage & database' )); ?><img src="<?php print_unescaped(image_path('', 'actions/caret-white.svg')); ?>" /></a></legend>
|
2013-10-05 00:46:00 +00:00
|
|
|
</fieldset>
|
|
|
|
<?php endif; ?>
|
|
|
|
|
2013-10-11 11:47:28 +00:00
|
|
|
<?php if(!$_['directoryIsSet'] OR count($_['errors']) > 0): ?>
|
2011-10-03 11:32:16 +00:00
|
|
|
<fieldset id="datadirField">
|
|
|
|
<div id="datadirContent">
|
2013-02-27 21:55:39 +00:00
|
|
|
<label for="directory"><?php p($l->t( 'Data folder' )); ?></label>
|
2013-02-14 22:19:12 +00:00
|
|
|
<input type="text" name="directory" id="directory"
|
2014-02-18 09:58:00 +00:00
|
|
|
placeholder="<?php p(OC::$SERVERROOT.'/data'); ?>"
|
|
|
|
value="<?php p($_['directory']); ?>"
|
2017-03-18 15:00:21 +00:00
|
|
|
autocomplete="off" autocapitalize="none" autocorrect="off">
|
2011-10-03 11:32:16 +00:00
|
|
|
</div>
|
|
|
|
</fieldset>
|
2013-09-30 00:16:32 +00:00
|
|
|
<?php endif; ?>
|
2011-10-03 11:32:16 +00:00
|
|
|
|
2013-10-11 11:47:28 +00:00
|
|
|
<?php if(!$_['dbIsSet'] OR count($_['errors']) > 0): ?>
|
2014-03-05 09:22:35 +00:00
|
|
|
<fieldset id='databaseBackend'>
|
2015-07-29 16:19:31 +00:00
|
|
|
<?php if($_['hasMySQL'] or $_['hasPostgreSQL'] or $_['hasOracle'])
|
2013-02-14 22:19:12 +00:00
|
|
|
$hasOtherDB = true; else $hasOtherDB =false; //other than SQLite ?>
|
2013-02-27 22:15:18 +00:00
|
|
|
<legend><?php p($l->t( 'Configure the database' )); ?></legend>
|
2011-08-11 16:18:50 +00:00
|
|
|
<div id="selectDbType">
|
2014-01-31 16:31:19 +00:00
|
|
|
<?php foreach($_['databases'] as $type => $label): ?>
|
2014-02-01 14:02:36 +00:00
|
|
|
<?php if(count($_['databases']) === 1): ?>
|
2015-05-18 20:59:35 +00:00
|
|
|
<p class="info">
|
|
|
|
<?php p($l->t( 'Only %s is available.', array($label) )); ?>
|
|
|
|
<?php p($l->t( 'Install and activate additional PHP modules to choose other database types.' )); ?><br>
|
2017-10-19 10:16:04 +00:00
|
|
|
<a href="<?php print_unescaped(link_to_docs('admin-source_install')); ?>" target="_blank" rel="noreferrer noopener">
|
2015-05-18 20:59:35 +00:00
|
|
|
<?php p($l->t( 'For more details check out the documentation.' )); ?> ↗</a>
|
|
|
|
</p>
|
2015-03-17 22:57:23 +00:00
|
|
|
<input type="hidden" id="dbtype" name="dbtype" value="<?php p($type) ?>">
|
2011-08-08 15:57:45 +00:00
|
|
|
<?php else: ?>
|
2014-01-31 16:31:19 +00:00
|
|
|
<input type="radio" name="dbtype" value="<?php p($type) ?>" id="<?php p($type) ?>"
|
2014-03-06 15:03:00 +00:00
|
|
|
<?php print_unescaped($_['dbtype'] === $type ? 'checked="checked" ' : '') ?>/>
|
2014-01-31 16:31:19 +00:00
|
|
|
<label class="<?php p($type) ?>" for="<?php p($type) ?>"><?php p($label) ?></label>
|
2013-07-24 16:02:36 +00:00
|
|
|
<?php endif; ?>
|
2014-01-31 16:31:19 +00:00
|
|
|
<?php endforeach; ?>
|
2011-08-11 16:18:50 +00:00
|
|
|
</div>
|
2014-03-05 09:22:35 +00:00
|
|
|
</fieldset>
|
2011-08-09 09:32:22 +00:00
|
|
|
|
|
|
|
<?php if($hasOtherDB): ?>
|
2014-03-05 09:22:35 +00:00
|
|
|
<fieldset id='databaseField'>
|
2011-08-09 09:32:22 +00:00
|
|
|
<div id="use_other_db">
|
2014-05-06 10:14:11 +00:00
|
|
|
<p class="grouptop">
|
2013-02-27 21:55:39 +00:00
|
|
|
<label for="dbuser" class="infield"><?php p($l->t( 'Database user' )); ?></label>
|
2014-05-06 10:14:11 +00:00
|
|
|
<input type="text" name="dbuser" id="dbuser"
|
|
|
|
placeholder="<?php p($l->t( 'Database user' )); ?>"
|
2014-02-18 09:58:00 +00:00
|
|
|
value="<?php p($_['dbuser']); ?>"
|
2017-03-18 15:00:21 +00:00
|
|
|
autocomplete="off" autocapitalize="none" autocorrect="off">
|
2011-10-03 12:41:55 +00:00
|
|
|
</p>
|
2014-05-06 10:14:11 +00:00
|
|
|
<p class="groupmiddle">
|
2017-02-07 22:59:12 +00:00
|
|
|
<input type="password" name="dbpass" id="dbpass" data-typetoggle="#dbpassword-toggle"
|
2014-05-06 10:14:11 +00:00
|
|
|
placeholder="<?php p($l->t( 'Database password' )); ?>"
|
2014-02-18 09:58:00 +00:00
|
|
|
value="<?php p($_['dbpass']); ?>"
|
2017-03-18 15:00:21 +00:00
|
|
|
autocomplete="off" autocapitalize="none" autocorrect="off">
|
2013-04-13 04:15:30 +00:00
|
|
|
<label for="dbpass" class="infield"><?php p($l->t( 'Database password' )); ?></label>
|
2019-01-25 11:00:16 +00:00
|
|
|
<input type="checkbox" id="dbpassword-toggle" class="hidden-visually" name="dbpassword-toggle">
|
2017-02-07 22:59:12 +00:00
|
|
|
<label for="dbpassword-toggle"></label>
|
2011-10-03 12:41:55 +00:00
|
|
|
</p>
|
2014-05-06 10:14:11 +00:00
|
|
|
<p class="groupmiddle">
|
2013-02-27 21:55:39 +00:00
|
|
|
<label for="dbname" class="infield"><?php p($l->t( 'Database name' )); ?></label>
|
2014-05-06 10:14:11 +00:00
|
|
|
<input type="text" name="dbname" id="dbname"
|
|
|
|
placeholder="<?php p($l->t( 'Database name' )); ?>"
|
2014-01-31 15:57:49 +00:00
|
|
|
value="<?php p($_['dbname']); ?>"
|
2017-03-18 15:00:21 +00:00
|
|
|
autocomplete="off" autocapitalize="none" autocorrect="off"
|
2015-03-17 22:57:23 +00:00
|
|
|
pattern="[0-9a-zA-Z$_-]+">
|
2011-10-03 12:41:55 +00:00
|
|
|
</p>
|
2013-07-24 16:02:36 +00:00
|
|
|
<?php if($_['hasOracle']): ?>
|
|
|
|
<div id="use_oracle_db">
|
2014-05-06 10:14:11 +00:00
|
|
|
<p class="groupmiddle">
|
2013-07-24 16:02:36 +00:00
|
|
|
<label for="dbtablespace" class="infield"><?php p($l->t( 'Database tablespace' )); ?></label>
|
2014-05-06 10:14:11 +00:00
|
|
|
<input type="text" name="dbtablespace" id="dbtablespace"
|
|
|
|
placeholder="<?php p($l->t( 'Database tablespace' )); ?>"
|
2014-02-18 09:58:00 +00:00
|
|
|
value="<?php p($_['dbtablespace']); ?>"
|
2017-03-18 15:00:21 +00:00
|
|
|
autocomplete="off" autocapitalize="none" autocorrect="off">
|
2013-07-24 16:02:36 +00:00
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<?php endif; ?>
|
2014-05-06 10:14:11 +00:00
|
|
|
<p class="groupbottom">
|
2013-07-24 16:02:36 +00:00
|
|
|
<label for="dbhost" class="infield"><?php p($l->t( 'Database host' )); ?></label>
|
2014-05-06 10:14:11 +00:00
|
|
|
<input type="text" name="dbhost" id="dbhost"
|
|
|
|
placeholder="<?php p($l->t( 'Database host' )); ?>"
|
2014-02-18 09:58:00 +00:00
|
|
|
value="<?php p($_['dbhost']); ?>"
|
2017-03-18 15:00:21 +00:00
|
|
|
autocomplete="off" autocapitalize="none" autocorrect="off">
|
2012-07-30 18:53:21 +00:00
|
|
|
</p>
|
2016-12-21 17:10:11 +00:00
|
|
|
<p class="info">
|
|
|
|
<?php p($l->t( 'Please specify the port number along with the host name (e.g., localhost:5432).' )); ?>
|
|
|
|
</p>
|
2012-07-30 18:53:21 +00:00
|
|
|
</div>
|
2014-03-05 09:22:35 +00:00
|
|
|
</fieldset>
|
2012-07-30 18:53:21 +00:00
|
|
|
<?php endif; ?>
|
2013-09-30 00:16:32 +00:00
|
|
|
<?php endif; ?>
|
2015-09-03 09:46:16 +00:00
|
|
|
|
2014-10-20 14:20:24 +00:00
|
|
|
<?php if(!$_['dbIsSet'] OR count($_['errors']) > 0): ?>
|
2015-02-04 19:55:54 +00:00
|
|
|
<fieldset id="sqliteInformation" class="warning">
|
2015-04-09 09:27:24 +00:00
|
|
|
<legend><?php p($l->t('Performance warning'));?></legend>
|
2015-02-04 19:55:54 +00:00
|
|
|
<p><?php p($l->t('SQLite will be used as database.'));?></p>
|
|
|
|
<p><?php p($l->t('For larger installations we recommend to choose a different database backend.'));?></p>
|
2015-02-06 10:19:56 +00:00
|
|
|
<p><?php p($l->t('Especially when using the desktop client for file syncing the use of SQLite is discouraged.')); ?></p>
|
2015-02-04 19:55:54 +00:00
|
|
|
</fieldset>
|
2014-10-20 14:20:24 +00:00
|
|
|
<?php endif ?>
|
2014-06-02 20:56:50 +00:00
|
|
|
|
2016-11-22 14:58:00 +00:00
|
|
|
<div class="icon-loading-dark float-spinner"> </div>
|
|
|
|
|
2015-03-17 22:57:23 +00:00
|
|
|
<div class="buttons"><input type="submit" class="primary" value="<?php p($l->t( 'Finish setup' )); ?>" data-finishing="<?php p($l->t( 'Finishing …' )); ?>"></div>
|
2015-04-09 09:27:24 +00:00
|
|
|
|
|
|
|
<p class="info">
|
2016-06-23 11:39:28 +00:00
|
|
|
<span class="icon-info-white"></span>
|
2015-04-09 09:27:24 +00:00
|
|
|
<?php p($l->t('Need help?'));?>
|
2017-10-19 10:16:04 +00:00
|
|
|
<a target="_blank" rel="noreferrer noopener" href="<?php p(link_to_docs('admin-install')); ?>"><?php p($l->t('See the documentation'));?> ↗</a>
|
2015-04-09 09:27:24 +00:00
|
|
|
</p>
|
2011-08-08 15:57:45 +00:00
|
|
|
</form>
|