From e7fc5d97efc0c4c3a264dc9a40167d989d90b9b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Fri, 6 Apr 2018 14:24:57 +0200 Subject: [PATCH 01/12] Add multiple steps to the first run wizard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- ...firstrunwizard.css => firstrunwizard.scss} | 51 +++++- js/firstrunwizard.js | 70 +++++++- templates/wizard.php | 164 +++++++++++++----- 3 files changed, 235 insertions(+), 50 deletions(-) rename css/{firstrunwizard.css => firstrunwizard.scss} (66%) diff --git a/css/firstrunwizard.css b/css/firstrunwizard.scss similarity index 66% rename from css/firstrunwizard.css rename to css/firstrunwizard.scss index 4181dec2..f3c4b961 100644 --- a/css/firstrunwizard.css +++ b/css/firstrunwizard.scss @@ -1,5 +1,4 @@ #firstrunwizard { - text-align: center; } #cboxLoadedContent { @@ -14,6 +13,7 @@ background-repeat: no-repeat; background-size: cover; color: #fff; + text-align: center; } #firstrunwizard .firstrunwizard-header .logo { background-image: url('../../../core/img/logo.svg'); @@ -37,7 +37,7 @@ } #firstrunwizard h2 { - margin: 35px 0 10px; + margin: 30px 0 10px; line-height: 120%; } @@ -57,6 +57,53 @@ font-size: 14px; } +#firstrunwizard .page { + margin-bottom: 50px; + display: flex; + flex-direction: row; + flex-wrap: wrap; + .image { + padding: 20px; + max-width: calc(50% - 40px); + flex-grow: 1; + img { + width: 100%; + } + } + .content { + padding: 20px; + } + .description { + margin: 20px; + width: auto; + flex-grow: 1; + max-width: calc(50% - 40px); + } + ul { + margin: 10px; + li { + margin-left: 20px; + list-style-type: circle; + list-style-position: outside; + } + } + a:not(.button) { + text-decoration: underline; + } +} + +.wizard-navigation { + display: flex; + position: absolute; + bottom: 10px; + width: calc(100% - 24px); + .prev, .next { + flex-grow: 1; + } + .next { + text-align: right; + } +} #firstrunwizard p a { font-weight: bold; color: #0082c9; diff --git a/js/firstrunwizard.js b/js/firstrunwizard.js index 983d7bee..86472796 100644 --- a/js/firstrunwizard.js +++ b/js/firstrunwizard.js @@ -1,3 +1,19 @@ +function getTotal() { + return $('#firstrunwizard .page').length; +} + +function getCurrent() { + return $('#firstrunwizard .page.active').index('#firstrunwizard .page'); +} + +function isLast() { + return getCurrent() >= getTotal()-1; +} + +function isFirst() { + return getCurrent() === 0; +} + function showFirstRunWizard(){ $.colorbox({ opacity: 0.7, @@ -11,7 +27,59 @@ function showFirstRunWizard(){ url: OC.generateUrl('/apps/firstrunwizard/wizard'), type: 'delete' }); - } + }, + onComplete: function() { + var $wizard = $('#firstrunwizard'); + var $finish = $wizard.find('#finish'); + var $prev = $wizard.find('#prev'); + var $next = $wizard.find('#next'); + var $pages = $wizard.find('.page'); + $finish.hide(); + $pages.hide(); + $prev.hide(); + $pages.first().fadeIn().addClass('active'); + $.colorbox.resize(); + $wizard.on('click', '#next', function() { + var active = $('#firstrunwizard .active'); + var next = active.next(); + $prev.show(); + if (getCurrent() < getTotal()-1) { + active.hide().removeClass('active'); + next.show().addClass('active'); + } + + if (isLast()) { + $next.hide(); + $finish.show(); + } else { + $next.show(); + $finish.hide(); + } + $.colorbox.resize(); + }); + $('#firstrunwizard').on('click', '#prev', function() { + var active = $('#firstrunwizard .active'); + var prev = active.prev(); + active.hide().removeClass('active'); + prev.show().addClass('active'); + $next.show(); + $finish.hide(); + if (!isFirst()) { + active.hide().removeClass('active'); + prev.show().addClass('active'); + } + + if (isFirst()) { + $prev.hide(); + } else { + $prev.show(); + } + $.colorbox.resize(); + }); + $('#firstrunwizard').on('click', '#finish', function() { + $.colorbox.close(); + }); + }, }); } diff --git a/templates/wizard.php b/templates/wizard.php index 39d8440d..89b86921 100644 --- a/templates/wizard.php +++ b/templates/wizard.php @@ -7,59 +7,129 @@ ?>
-
+
- - - - + + + + -

getSlogan()); ?>

-

t('Access & share your files, calendars, contacts, mail & more from any device, on your terms'));?>

+

getSlogan()); ?>

+

t('Access & share your files, calendars, contacts, mail & more from any device, on your terms')); ?>

-
+
-
+
+
+
+
+

Nextcloud puts your data at your fingertips, under your control. Store your documents, calendar, contacts and photos on a server at home, at one of our providers or in a data center you know.

+

We have some tipps for you to get started:

+ +
+
-

t('Get the apps to sync your files'));?>

- - <?php p($l->t('Desktop client'));?> - - - <?php p($l->t('Android app'));?> - - - <?php p($l->t('iOS app'));?> - +
+
+
+

+ You can extend the functionality of your Nextcloud with extra features from the Nextcloud app store. Among the more than 100 apps you can find features that enhance sharing, including: +

+
    +
  • Groupware apps like Calendar, Contacts, Mail, News, Notes, Bookmarks and Tasks
  • +
  • Collaboration and productivity apps Keepass management, Video Calls, a Kanban app, music players, Password managers, Checksums, download manager, a Markdown editor and collaborative text editing.
  • +
  • Security and authentication features like two-factor authentication mechanisms, SSO, Ransomware protection, admin announcements, Zimbra integration, a tiny CMS app and more.
  • +
+ Browse the app store +
+
-

t('Connect your desktop apps to %s', array($theme->getName()))); ?>

- - - t('Connect your calendar'));?> - - - - t('Connect your contacts'));?> - - - - t('Access files via WebDAV'));?> - +
+
+

Nextcloud gives you access to your files wherever you are. Our easy to use desktop and mobile clients are available for all major platforms at zero cost!

+

t('Get the apps to sync your files')); ?>

+ + <?php p($l->t('Desktop client')); ?> + + + <?php p($l->t('Android app')); ?> + + + <?php p($l->t('iOS app')); ?> + +

t('Connect your desktop apps to %s', array($theme->getName()))); ?>

+ + + t('Connect your calendar')); ?> + + + + t('Connect your contacts')); ?> + + + + t('Access files via WebDAV')); ?> + +
+
+
+
+

t('Get more information')); ?>

+

The Nextcloud documentation for home users:

+ +

You can also ask for help in our community support channels:

+ +
+
-

-t('There’s more information in the documentation and on our website.', array($theme->getDocBaseUrl(), $theme->getBaseUrl()))); ?>
-t('If you like Nextcloud, recommend it to your friends and contribute back!')); ?> -

+

Start contributing

+

Do you want to get a certain improvement in Nextcloud? Did you find a problem? Do you want to help translate, promote or document Nextcloud?

+ Become part of the Community. -
+

Enterprise support

+

If you run Nextcloud in a mission critical environment with large numbers of users and big amounts of data and need the certainty of support from the experts behind the Nextcloud technology, a Enterprise Subscription from Nextcloud is available with email and phone support.

+ Get enterprise support + +
+
+ +
+ + +
+
+
\ No newline at end of file From fd30c8595b38eb9199ba00a612c9db8717c22723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Sat, 28 Apr 2018 11:00:28 +0200 Subject: [PATCH 02/12] Simplify pages and content MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- css/firstrunwizard.scss | 77 ++++++++++++++++++++++++++++++++++---- img/source.svg | 1 + img/world.svg | 1 + templates/page.apps.php | 41 ++++++++++++++++++++ templates/page.clients.php | 72 +++++++++++++++++++++++++++++++++++ templates/page.final.php | 38 +++++++++++++++++++ templates/page.values.php | 58 ++++++++++++++++++++++++++++ 7 files changed, 280 insertions(+), 8 deletions(-) create mode 100644 img/source.svg create mode 100644 img/world.svg create mode 100644 templates/page.apps.php create mode 100644 templates/page.clients.php create mode 100644 templates/page.final.php create mode 100644 templates/page.values.php diff --git a/css/firstrunwizard.scss b/css/firstrunwizard.scss index f3c4b961..1efb304a 100644 --- a/css/firstrunwizard.scss +++ b/css/firstrunwizard.scss @@ -1,6 +1,3 @@ -#firstrunwizard { -} - #cboxLoadedContent { border-radius: 3px; } @@ -41,16 +38,14 @@ line-height: 120%; } -.clientslinks .appsmall, -#firstrunwizard .appsmall { +.clientslinks .appsmall { height: 32px; width: 32px; position: relative; opacity: .5; vertical-align: middle; } -.clientslinks .button, -#firstrunwizard .button { +.clientslinks .button { display: inline-block; padding: 8px; font-weight: normal; @@ -58,10 +53,13 @@ } #firstrunwizard .page { - margin-bottom: 50px; + margin-bottom: 60px; display: flex; flex-direction: row; flex-wrap: wrap; + h2 { + margin: 0 0 10px 0; + } .image { padding: 20px; max-width: calc(50% - 40px); @@ -73,6 +71,9 @@ .content { padding: 20px; } + p, .description-block { + margin-bottom: 20px; + } .description { margin: 20px; width: auto; @@ -83,6 +84,7 @@ margin: 10px; li { margin-left: 20px; + margin-bottom: 10px; list-style-type: circle; list-style-position: outside; } @@ -90,6 +92,16 @@ a:not(.button) { text-decoration: underline; } + .button { + + img { + width: 16px; + height: 16px; + opacity: .5; + margin-top: -3px; + vertical-align: middle; + } + } } .wizard-navigation { @@ -99,10 +111,25 @@ width: calc(100% - 24px); .prev, .next { flex-grow: 1; + flex-basis: 200px; } .next { text-align: right; } + .position-indicator { + list-style-type: circle; + list-style-position: inside; + padding: 0; + margin: 10px 0 0; + color: $color-primary; + font-size: 120%; + li { + float:left; + &.active { + list-style-type: disc; + } + } + } } #firstrunwizard p a { font-weight: bold; @@ -126,4 +153,38 @@ .clientslinks { margin-top: 20px; margin-bottom: 20px; +} + +#firstrunwizard .page #wizard-values { + list-style-type: none; + display: flex; + flex-wrap: wrap; + li { + display: block; + min-width: 300px; + width: 50%; + margin: 20px 0 20px 0; + span { + opacity: .7; + display: block; + height: 50px; + background-size: 40px; + } + h2 { + margin: 10px 0 10px 0; + font-size: 130%; + text-align: center; + } + } +} + +.details-link { + text-align: center; +} + +.icon-source { + background-image: url('../img/source.svg'); +} +.icon-world { + background-image: url('../img/world.svg'); } \ No newline at end of file diff --git a/img/source.svg b/img/source.svg new file mode 100644 index 00000000..34a2b417 --- /dev/null +++ b/img/source.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/world.svg b/img/world.svg new file mode 100644 index 00000000..7ddf52b9 --- /dev/null +++ b/img/world.svg @@ -0,0 +1 @@ + diff --git a/templates/page.apps.php b/templates/page.apps.php new file mode 100644 index 00000000..07a32de1 --- /dev/null +++ b/templates/page.apps.php @@ -0,0 +1,41 @@ + + * + * @author Julius Härtl + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +/** + * @var array $_ + * @var \OCP\IL10N $l + * @var \OCP\Defaults $theme + */ +?> +
+
+
+

t('You can extend the functionality of your %s with extra features from the Nextcloud app store. Among the more than 100 apps you can find features that enhance sharing, including:', $theme->getName())); ?>

+
    +
  • t('Groupware apps like Calendar, Contacts, Mail, News, Notes, Bookmarks and Tasks')); ?>
  • +
  • t('Collaboration and productivity apps Keepass management, Video Calls, a Kanban app, music players, Password managers, Checksums, download manager, a Markdown editor and collaborative text editing.')); ?>
  • +
  • t('Security and authentication features like two-factor authentication mechanisms, SSO, Ransomware protection, admin announcements, Zimbra integration, a tiny CMS app and more.')); ?>
  • +
+ +
+
diff --git a/templates/page.clients.php b/templates/page.clients.php new file mode 100644 index 00000000..8cb78ae3 --- /dev/null +++ b/templates/page.clients.php @@ -0,0 +1,72 @@ + + * + * @author Julius Härtl + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +/** + * @var array $_ + * @var \OCP\IL10N $l + * @var \OCP\Defaults $theme + */ +?> + +
+
+

t('Nextcloud gives you access to your files wherever you are. Our easy to use desktop and mobile clients are available for all major platforms at zero cost!')); ?>

+
+

t('Get the apps to sync your files')); ?>

+ + <?php p($l->t('Desktop client')); ?> + + + <?php p($l->t('Android app')); ?> + + + <?php p($l->t('iOS app')); ?> + +
+ +
+
\ No newline at end of file diff --git a/templates/page.final.php b/templates/page.final.php new file mode 100644 index 00000000..17e40895 --- /dev/null +++ b/templates/page.final.php @@ -0,0 +1,38 @@ + + +
+
+
+

t('Get more information')); ?>

+

t('The Nextcloud documentation for home users:')); ?>

+ +

t('You can also ask for help in our community support channels:')); ?>

+ +
+
+
+
+

t('Start contributing')); ?>

+

t('Do you want to get a certain improvement in Nextcloud? Did you find a problem? Do you want to help translate, promote or document Nextcloud?')); ?>

+ t('Become part of the Community.')); ?> +
+
+

t('Enterprise support')); ?>

+

t('If you run Nextcloud in a mission critical environment with large numbers of users and big amounts of data and need the certainty of support from the experts behind the Nextcloud technology, a Enterprise Subscription from Nextcloud is available with email and phone support.')); ?>

+ t('Get enterprise support')); ?> +
+
+
\ No newline at end of file diff --git a/templates/page.values.php b/templates/page.values.php new file mode 100644 index 00000000..086ab564 --- /dev/null +++ b/templates/page.values.php @@ -0,0 +1,58 @@ + + * + * @author Julius Härtl + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +/** + * @var array $_ + * @var \OCP\IL10N $l + * @var \OCP\Defaults $theme + */ +?> + +
+
+

+ t('Nextcloud puts your data at your fingertips, under your control. Store your documents, calendar, contacts and photos on a server in your company, at home, at one of our providers or in a data center you know.')); ?> +

+ +
    +
  • + +

    t('Host you data and files where you decide')); ?>

    +
  • +
  • + +

    t('Open Standards and Interoperability')); ?>

    +
  • +
  • + +

    t('100%% Open Source')); ?>

    +
  • +
  • + +

    t('Community focus')); ?>

    +
  • +
+ + +
+
From 6b22793b149ea41a210e5e67e6fd2eb444071099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Sat, 28 Apr 2018 11:01:09 +0200 Subject: [PATCH 03/12] Structure javascript code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- js/activate.js | 2 +- js/firstrunwizard.js | 217 +++++++++++++++++++++++++++---------------- 2 files changed, 139 insertions(+), 80 deletions(-) diff --git a/js/activate.js b/js/activate.js index c852d61d..167757eb 100644 --- a/js/activate.js +++ b/js/activate.js @@ -1,3 +1,3 @@ $(document).ready(function() { - showFirstRunWizard(); + OCA.FirstRunWizard.Wizard.showFirstRunWizard(); }); diff --git a/js/firstrunwizard.js b/js/firstrunwizard.js index 86472796..e1181169 100644 --- a/js/firstrunwizard.js +++ b/js/firstrunwizard.js @@ -1,94 +1,153 @@ -function getTotal() { - return $('#firstrunwizard .page').length; -} +(function() { + if (!OCA.FirstRunWizard) { + OCA.FirstRunWizard = {}; + } + OCA.FirstRunWizard.Wizard = { -function getCurrent() { - return $('#firstrunwizard .page.active').index('#firstrunwizard .page'); -} + initialize: function () { -function isLast() { - return getCurrent() >= getTotal()-1; -} + }, + getTotal: function() { + return this.$pages.length; + }, + getCurrent: function () { + return $('#firstrunwizard .page.active').index('#firstrunwizard .page'); + }, + isLast: function() { + return this.getCurrent() >= this.getTotal()-1; + }, + isFirst: function() { + return this.getCurrent() === 0; + }, + updateTitle: function() { + var active = $('#firstrunwizard .page.active'); + var header = this.$wizard.find('.firstrunwizard-header'); + header.find('h1').text(active.data('title')); + header.find('p').text(active.data('subtitle')); + }, + goNext: function() { + if (this.isLast()) { + return; + } + var active = $('#firstrunwizard .page.active'); + var next = active.next(); + this.$prev.show(); + if (this.getCurrent() < this.getTotal()-1) { + active.hide().removeClass('active'); + next.show().addClass('active'); + } -function isFirst() { - return getCurrent() === 0; -} + this.$position.find('li').removeClass('active'); + this.$position.find('>li:nth-child(' + (this.getCurrent()+1) + ')').addClass('active'); -function showFirstRunWizard(){ - $.colorbox({ - opacity: 0.7, - transition: 'elastic', - speed: 100, - width: '80%', - height: '80%', - href: OC.generateUrl('/apps/firstrunwizard/wizard'), - onClosed : function() { - $.ajax({ - url: OC.generateUrl('/apps/firstrunwizard/wizard'), - type: 'delete' - }); - }, - onComplete: function() { - var $wizard = $('#firstrunwizard'); - var $finish = $wizard.find('#finish'); - var $prev = $wizard.find('#prev'); - var $next = $wizard.find('#next'); - var $pages = $wizard.find('.page'); - $finish.hide(); - $pages.hide(); - $prev.hide(); - $pages.first().fadeIn().addClass('active'); + if (this.isLast()) { + this.$next.hide(); + this.$finish.show(); + } else { + this.$next.show(); + this.$finish.hide(); + } + this.updateTitle(); $.colorbox.resize(); - $wizard.on('click', '#next', function() { - var active = $('#firstrunwizard .active'); - var next = active.next(); - $prev.show(); - if (getCurrent() < getTotal()-1) { - active.hide().removeClass('active'); - next.show().addClass('active'); - } - - if (isLast()) { - $next.hide(); - $finish.show(); - } else { - $next.show(); - $finish.hide(); - } - $.colorbox.resize(); - }); - $('#firstrunwizard').on('click', '#prev', function() { - var active = $('#firstrunwizard .active'); - var prev = active.prev(); + }, + goPrevious: function() { + if (this.isFirst()) { + return; + } + var active = $('#firstrunwizard .page.active'); + var prev = active.prev(); + active.hide().removeClass('active'); + prev.show().addClass('active'); + this.$next.show(); + this.$finish.hide(); + if (!this.isFirst()) { active.hide().removeClass('active'); prev.show().addClass('active'); - $next.show(); - $finish.hide(); - if (!isFirst()) { - active.hide().removeClass('active'); - prev.show().addClass('active'); - } + } - if (isFirst()) { - $prev.hide(); - } else { - $prev.show(); - } - $.colorbox.resize(); - }); - $('#firstrunwizard').on('click', '#finish', function() { - $.colorbox.close(); + this.$position.find('li').removeClass('active'); + this.$position.find('>li:nth-child(' + (this.getCurrent()+1) + ')').addClass('active'); + + if (this.isFirst()) { + this.$prev.hide(); + } else { + this.$prev.show(); + } + this.updateTitle(); + $.colorbox.resize(); + }, + handleKeydown: function(e) { + switch (e.keyCode) { + case 37: // arrow left + this.goPrevious(); + break; + case 13: + case 39: + this.goNext(); + break; + case 27: + this.closeWizard(); + break; + } + }, + onComplete: function() { + this.$wizard = $('#firstrunwizard'); + this.$finish = this.$wizard.find('#finish'); + this.$prev = this.$wizard.find('#prev'); + this.$next = this.$wizard.find('#next'); + this.$pages = this.$wizard.find('.page'); + this.$position = this.$wizard.find('.position-indicator'); + + this.$finish.hide(); + this.$pages.hide(); + this.$prev.hide(); + this.$pages.first().fadeIn().addClass('active'); + $.colorbox.resize(); + var self = this; + this.$pages.each(function() { + self.$position.append('
  • '); }); + this.$position.find('>li:first-child').addClass('active'); + + this.$wizard.on('click', '#next', this.goNext.bind(this)); + this.$wizard.on('click', '#prev', this.goPrevious.bind(this)); + this.$wizard.on('click', '#finish', this.closeWizard.bind(this)); + this.$wizard.on('click', '#closeWizard', this.closeWizard.bind(this)); + $('body').off('keydown', this.handleKeydown).on('keydown', this.handleKeydown.bind(this)); + }, + closeWizard: function() { + $('body').off('keydown', this.handleKeydown); + $.colorbox.close(); }, - }); -} + + showFirstRunWizard: function(){ + var self = this; + $.colorbox({ + opacity: 0.7, + transition: 'elastic', + speed: 100, + width: '80%', + height: '80%', + maxWidth: '900px', + href: OC.generateUrl('/apps/firstrunwizard/wizard'), + onClosed : function() { + $.ajax({ + url: OC.generateUrl('/apps/firstrunwizard/wizard'), + type: 'delete' + }); + }, + onComplete: self.onComplete.bind(self), + }); + } + }; +})(); $(document).ready(function() { - $('#showWizard').live('click', function () { - showFirstRunWizard(); - }); - $('#closeWizard').live('click', function () { - $.colorbox.close(); + // FIXME: remove this (just for debugging) + OCA.FirstRunWizard.Wizard.showFirstRunWizard(); + + $('#showWizard').on('click', function () { + OCA.FirstRunWizard.Wizard.showFirstRunWizard(); }); }); From b816f6b831accd504f522c02ef7e61e24bc1d866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Sat, 28 Apr 2018 11:01:29 +0200 Subject: [PATCH 04/12] Include pages from templates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- templates/wizard.php | 105 +++++-------------------------------------- 1 file changed, 10 insertions(+), 95 deletions(-) diff --git a/templates/wizard.php b/templates/wizard.php index 89b86921..d1d281d7 100644 --- a/templates/wizard.php +++ b/templates/wizard.php @@ -25,107 +25,22 @@
    -
    -
    -
    -

    Nextcloud puts your data at your fingertips, under your control. Store your documents, calendar, contacts and photos on a server at home, at one of our providers or in a data center you know.

    -

    We have some tipps for you to get started:

    - -
    -
    - -
    -
    -
    -

    - You can extend the functionality of your Nextcloud with extra features from the Nextcloud app store. Among the more than 100 apps you can find features that enhance sharing, including: -

    -
      -
    • Groupware apps like Calendar, Contacts, Mail, News, Notes, Bookmarks and Tasks
    • -
    • Collaboration and productivity apps Keepass management, Video Calls, a Kanban app, music players, Password managers, Checksums, download manager, a Markdown editor and collaborative text editing.
    • -
    • Security and authentication features like two-factor authentication mechanisms, SSO, Ransomware protection, admin announcements, Zimbra integration, a tiny CMS app and more.
    • -
    - - Browse the app store -
    -
    - -
    -
    -

    Nextcloud gives you access to your files wherever you are. Our easy to use desktop and mobile clients are available for all major platforms at zero cost!

    -

    t('Get the apps to sync your files')); ?>

    - - <?php p($l->t('Desktop client')); ?> - - - <?php p($l->t('Android app')); ?> - - - <?php p($l->t('iOS app')); ?> - -

    t('Connect your desktop apps to %s', array($theme->getName()))); ?>

    - - - t('Connect your calendar')); ?> - - - - t('Connect your contacts')); ?> - - - - t('Access files via WebDAV')); ?> - -
    -
    -
    -
    -

    t('Get more information')); ?>

    -

    The Nextcloud documentation for home users:

    - -

    You can also ask for help in our community support channels:

    - -
    -
    - -

    Start contributing

    -

    Do you want to get a certain improvement in Nextcloud? Did you find a problem? Do you want to help translate, promote or document Nextcloud?

    - Become part of the Community. + inc('page.values')); + print_unescaped($this->inc('page.clients')); -

    Enterprise support

    -

    If you run Nextcloud in a mission critical environment with large numbers of users and big amounts of data and need the certainty of support from the experts behind the Nextcloud technology, a Enterprise Subscription from Nextcloud is available with email and phone support.

    - Get enterprise support - -
    -
    + $uid = \OC::$server->getUserSession()->getUser()->getUID(); + if (OC_User::isAdminUser($uid)) { + print_unescaped($this->inc('page.apps')); + } + print_unescaped($this->inc('page.final')); + ?>
    +