diff options
author | Carl Schwan <carl@carlschwan.eu> | 2022-05-23 18:29:03 +0300 |
---|---|---|
committer | Carl Schwan <carl@carlschwan.eu> | 2022-06-15 16:31:25 +0300 |
commit | 3b6bb4f2945aa2a56f93f39dac80d36a376cd852 (patch) | |
tree | 22d2fa533fd12e9fe426d4b3930b67104d8824ca /apps/federatedfilesharing | |
parent | 8809de1eefbfa78998d9379a7040858d8e01e820 (diff) |
Port federatedfilesharing personal settings to vueport/vue-personal-federation
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Diffstat (limited to 'apps/federatedfilesharing')
11 files changed, 281 insertions, 298 deletions
diff --git a/apps/federatedfilesharing/css/settings-admin.css b/apps/federatedfilesharing/css/settings-admin.css deleted file mode 100644 index d043ebae43b..00000000000 --- a/apps/federatedfilesharing/css/settings-admin.css +++ /dev/null @@ -1,5 +0,0 @@ -#fileSharingSettings h2 { - display: inline-block; -} - -/*# sourceMappingURL=settings-admin.css.map */ diff --git a/apps/federatedfilesharing/css/settings-admin.css.map b/apps/federatedfilesharing/css/settings-admin.css.map deleted file mode 100644 index 9b1d105e143..00000000000 --- a/apps/federatedfilesharing/css/settings-admin.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["settings-admin.scss"],"names":[],"mappings":"AAAA;EACC","file":"settings-admin.css"}
\ No newline at end of file diff --git a/apps/federatedfilesharing/css/settings-admin.scss b/apps/federatedfilesharing/css/settings-admin.scss deleted file mode 100644 index c16986e68af..00000000000 --- a/apps/federatedfilesharing/css/settings-admin.scss +++ /dev/null @@ -1,3 +0,0 @@ -#fileSharingSettings h2 { - display: inline-block; -} diff --git a/apps/federatedfilesharing/css/settings-personal.css b/apps/federatedfilesharing/css/settings-personal.css deleted file mode 100644 index 16e482beecc..00000000000 --- a/apps/federatedfilesharing/css/settings-personal.css +++ /dev/null @@ -1,107 +0,0 @@ -@charset "UTF-8"; -/** - * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com) - * - * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> - * - * @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 <http://www.gnu.org/licenses/>. - * - */ -/** - * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com) - * - * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> - * - * @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 <http://www.gnu.org/licenses/>. - * - */ -/** - * @see core/src/icons.js - */ -/** - * SVG COLOR API - * - * @param string $icon the icon filename - * @param string $dir the icon folder within /core/img if $core or app name - * @param string $color the desired color in hexadecimal - * @param int $version the version of the file - * @param bool [$core] search icon in core - * - * @returns A background image with the url to the set to the requested icon. - */ -#fileSharingSettings h2 { - display: inline-block; -} - -#fileSharingSettings img { - cursor: pointer; -} - -#fileSharingSettings xmp { - margin-top: 0; - white-space: pre-wrap; -} - -#fileSharingSettings .icon { - background-size: 16px 16px; - display: inline-block; - position: relative; - top: 3px; - margin-left: 5px; -} - -[class^=social-], [class*=" social-"] { - background-repeat: no-repeat; - background-position: 8px; - min-width: 16px; - min-height: 16px; - padding-left: 28px; - background-size: 16px; -} - -.social-diaspora { - /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */ - background-image: var(--icon-social-diaspora-dark); -} - -.social-twitter { - /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */ - background-image: var(--icon-social-twitter-dark); -} - -.social-facebook { - /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */ - background-image: var(--icon-social-facebook-dark); -} - -.social_sharing_buttons { - padding-left: 30px !important; -} - -/*# sourceMappingURL=settings-personal.css.map */ diff --git a/apps/federatedfilesharing/css/settings-personal.css.map b/apps/federatedfilesharing/css/settings-personal.css.map deleted file mode 100644 index 490e82ccb28..00000000000 --- a/apps/federatedfilesharing/css/settings-personal.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","../../../core/css/functions.scss","settings-personal.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC/CA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AD8BC;EAEA;;;AC7BD;AD2BC;EAEA;;;AC1BD;ADwBC;EAEA;;;ACtBD;EACC","file":"settings-personal.css"}
\ No newline at end of file diff --git a/apps/federatedfilesharing/css/settings-personal.scss b/apps/federatedfilesharing/css/settings-personal.scss deleted file mode 100644 index 501b81df436..00000000000 --- a/apps/federatedfilesharing/css/settings-personal.scss +++ /dev/null @@ -1,46 +0,0 @@ -@use 'variables'; -@import 'functions'; - -#fileSharingSettings h2 { - display: inline-block; -} - -#fileSharingSettings img { - cursor: pointer; -} - -#fileSharingSettings xmp { - margin-top: 0; - white-space: pre-wrap; -} - -#fileSharingSettings .icon { - background-size: 16px 16px; - display: inline-block; - position: relative; - top: 3px; - margin-left: 5px; -} - -[class^="social-"], [class*=" social-"] { - background-repeat: no-repeat; - background-position: 8px; - min-width: 16px; - min-height: 16px; - padding-left: 28px; - background-size: 16px; -} - -.social-diaspora { - @include icon-color('social-diaspora', 'federatedfilesharing', variables.$color-black); -} -.social-twitter { - @include icon-color('social-twitter', 'federatedfilesharing', variables.$color-black); -} -.social-facebook { - @include icon-color('social-facebook', 'federatedfilesharing', variables.$color-black); -} - -.social_sharing_buttons { - padding-left: 30px !important; -} diff --git a/apps/federatedfilesharing/js/settings-personal.js b/apps/federatedfilesharing/js/settings-personal.js deleted file mode 100644 index 753e18daa65..00000000000 --- a/apps/federatedfilesharing/js/settings-personal.js +++ /dev/null @@ -1,68 +0,0 @@ -window.addEventListener('DOMContentLoaded', function() { - - $('#fileSharingSettings button.pop-up').click(function() { - var url = $(this).data('url'); - if (url) { - var width = 600; - var height = 400; - var left = (screen.width/2)-(width/2); - var top = (screen.height/2)-(height/2); - - window.open(url, 'name', 'width=' + width + ', height=' + height + ', top=' + top + ', left=' + left); - } - }); - - $('#oca-files-sharing-add-to-your-website').click(function() { - if ($('#oca-files-sharing-add-to-your-website-expanded').is(':visible')) { - $('#oca-files-sharing-add-to-your-website-expanded').slideUp(); - } else { - $('#oca-files-sharing-add-to-your-website-expanded').slideDown(); - } - }); - - /* Verification icon tooltip */ - $('#personal-settings-container .verify img').tooltip({placement: 'bottom', trigger: 'hover'}); - - $('#fileSharingSettings .clipboardButton').tooltip({placement: 'bottom', title: t('core', 'Copy'), trigger: 'hover'}); - - // Clipboard! - var clipboard = new Clipboard('.clipboardButton'); - clipboard.on('success', function(e) { - var $input = $(e.trigger); - $input.tooltip('hide') - .attr('data-original-title', t('core', 'Copied!')) - .tooltip('_fixTitle') - .tooltip({placement: 'bottom', trigger: 'manual'}) - .tooltip('show'); - _.delay(function() { - $input.tooltip('hide') - .attr('data-original-title', t('core', 'Copy')) - .tooltip('_fixTitle'); - }, 3000); - }); - clipboard.on('error', function (e) { - var $input = $(e.trigger); - var actionMsg = ''; - if (/iPhone|iPad/i.test(navigator.userAgent)) { - actionMsg = t('core', 'Not supported!'); - } else if (/Mac/i.test(navigator.userAgent)) { - actionMsg = t('core', 'Press ⌘-C to copy.'); - } else { - actionMsg = t('core', 'Press Ctrl-C to copy.'); - } - - $input.tooltip('hide') - .attr('data-original-title', actionMsg) - .tooltip('_fixTitle') - .tooltip({placement: 'bottom', trigger: 'manual'}) - .tooltip('show'); - _.delay(function () { - $input.tooltip('hide') - .attr('data-original-title', t('core', 'Copy')) - .tooltip('_fixTitle'); - }, 3000); - }); - - - $('#fileSharingSettings .hasTooltip').tooltip({placement: 'right'}); -}); diff --git a/apps/federatedfilesharing/lib/Settings/Personal.php b/apps/federatedfilesharing/lib/Settings/Personal.php index 3bc1c3d89ad..bd44e3d970b 100644 --- a/apps/federatedfilesharing/lib/Settings/Personal.php +++ b/apps/federatedfilesharing/lib/Settings/Personal.php @@ -6,6 +6,7 @@ * @author Jos Poortvliet <jos@opensuse.org> * @author Julius Härtl <jus@bitgrid.net> * @author Morris Jobke <hey@morrisjobke.de> + * @author Carl Schwan <carl@carlschwan.eu> * * @license GNU AGPL version 3 or any later version * @@ -27,31 +28,34 @@ namespace OCA\FederatedFileSharing\Settings; use OCA\FederatedFileSharing\FederatedShareProvider; use OCP\AppFramework\Http\TemplateResponse; +use OCP\AppFramework\Services\IInitialState; use OCP\IL10N; use OCP\IUserSession; +use OCP\IURLGenerator; use OCP\Settings\ISettings; class Personal implements ISettings { - - /** @var FederatedShareProvider */ - private $federatedShareProvider; - /** @var IUserSession */ - private $userSession; - /** @var IL10N */ - private $l; - /** @var \OC_Defaults */ - private $defaults; + private FederatedShareProvider $federatedShareProvider; + private IUserSession $userSession; + private IL10N $l; + private \OC_Defaults $defaults; + private IInitialState $initialState; + private IURLGenerator $urlGenerator; public function __construct( FederatedShareProvider $federatedShareProvider, # IUserSession $userSession, IL10N $l, - \OC_Defaults $defaults + \OC_Defaults $defaults, + IInitialState $initialState, + IURLGenerator $urlGenerator ) { $this->federatedShareProvider = $federatedShareProvider; $this->userSession = $userSession; $this->l = $l; $this->defaults = $defaults; + $this->initialState = $initialState; + $this->urlGenerator = $urlGenerator; } /** @@ -71,6 +75,14 @@ class Personal implements ISettings { 'color' => $this->defaults->getColorPrimary(), 'textColor' => "#ffffff", ]; + + $this->initialState->provideInitialState('color', $this->defaults->getColorPrimary()); + $this->initialState->provideInitialState('textColor', '#fffff'); + $this->initialState->provideInitialState('logoPath', $this->defaults->getLogo()); + $this->initialState->provideInitialState('reference', $url); + $this->initialState->provideInitialState('cloudId', $cloudID); + $this->initialState->provideInitialState('docUrlFederated', $this->urlGenerator->linkToDocs('user-sharing-federated')); + return new TemplateResponse('federatedfilesharing', 'settings-personal', $parameters, ''); } diff --git a/apps/federatedfilesharing/src/components/PersonalSettings.vue b/apps/federatedfilesharing/src/components/PersonalSettings.vue new file mode 100644 index 00000000000..ffa2136a365 --- /dev/null +++ b/apps/federatedfilesharing/src/components/PersonalSettings.vue @@ -0,0 +1,200 @@ +<!-- +SPDX-FileLicenseText: 2022 Carl Schwan <carl@carlschwan.eu> +SPDX-License-Identifier: AGPL-3.0-or-later + +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 <http://www.gnu.org/licenses/>. +--> + +<template> + <SettingsSection :title="t('federatedfilesharing', 'Federated Cloud')" + :description="t('federatedfilesharing', 'You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com')" + :doc-url="docUrlFederated"> + <p class="cloud-id-text"> + {{ t('federatedfilesharing', 'Your Federated Cloud ID:') }} + <strong id="cloudid">{{ cloudId }}</strong> + <Button ref="clipboard" + v-tooltip="copyLinkTooltip" + class="clipboard" + type="tertiary-no-background" + @click.prevent="copyCloudId"> + <template #icon> + <Clipboard :size="20" /> + </template> + </Button> + </p> + + <p class="social-button"> + {{ t('federatedfilesharing', 'Share it so your friends can share files with you:') }}<br> + <Button @click="goTo(shareFacebookUrl)"> + {{ t('federatedfilesharing', 'Facebook') }} + <template #icon> + <Facebook :size="20" /> + </template> + </Button> + <Button @click="goTo(shareTwitterUrl)"> + {{ t('federatedfilesharing', 'Twitter') }} + <template #icon> + <Twitter :size="20" /> + </template> + </Button> + <Button @click="goTo(shareDiasporaUrl)"> + {{ t('federatedfilesharing', 'Diaspora') }} + <template #icon> + <svg width="20" + height="20" + viewBox="-10 -5 1034 1034" + xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M502 197q-96 0-96.5 1.5t-1.5 137-1.5 138-2 2.5T266 432.5 132.5 390t-30 94T74 578l232 77q21 8 21 10t-79.5 117.5T168 899t79.5 56.5T328 1011t81-110 82-110 41 55l83 115q43 60 44 60t79.5-58 79-59-76-112.5-76-113.5T795 632.5t129.5-44-28-94T867 400t-128 42-128.5 43-2.5-7.5-1-38.5l-3-108q-4-133-5-133.5t-97-.5z" /></svg> + </template> + </Button> + <Button @click="showHtml = !showHtml"> + <template #icon> + <Web :size="20" /> + </template> + {{ t('federatedfilesharing', 'Add to your website') }} + </Button> + </p> + + <template v-if="showHtml"> + <p style="margin: 10px 0"> + <a target="_blank" + rel="noreferrer noopener" + :href="reference" + :style="backgroundStyle"> + <span :style="linkStyle" /> + {{ t('federatedfilesharing', 'Share with me via Nextcloud') }} + </a> + </p> + + <p> + {{ t('federatedfilesharing', 'HTML Code:') }} + <br> + <pre>{{ htmlCode }}</pre> + </p> + </template> + </SettingsSection> +</template> + +<script> +import { showError } from '@nextcloud/dialogs' +import { loadState } from '@nextcloud/initial-state' +import SettingsSection from '@nextcloud/vue/dist/Components/SettingsSection' +import Button from '@nextcloud/vue/dist/Components/Button' +import Twitter from 'vue-material-design-icons/Twitter' +import Facebook from 'vue-material-design-icons/Facebook' +import Web from 'vue-material-design-icons/Web' +import Clipboard from 'vue-material-design-icons/Clipboard' +import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' + +export default { + name: 'PersonalSettings', + components: { + Button, + SettingsSection, + Twitter, + Facebook, + Web, + Clipboard, + }, + directives: { + Tooltip, + }, + data() { + return { + color: loadState('federatedfilesharing', 'color'), + textColor: loadState('federatedfilesharing', 'textColor'), + logoPath: loadState('federatedfilesharing', 'logoPath'), + reference: loadState('federatedfilesharing', 'reference'), + cloudId: loadState('federatedfilesharing', 'cloudId'), + docUrlFederated: loadState('federatedfilesharing', 'docUrlFederated'), + showHtml: false, + isCopied: false, + } + }, + computed: { + messageWithURL() { + return t('federatedfilesharing', 'Share with me through my #Nextcloud Federated Cloud ID, see {url}', { url: this.reference }) + }, + messageWithoutURL() { + return t('federatedfilesharing', 'Share with me through my #Nextcloud Federated Cloud ID') + }, + shareDiasporaUrl() { + return `https://share.diasporafoundation.org/?title=${encodeURIComponent(this.messageWithoutURL)}&url=${encodeURIComponent(this.reference)}` + }, + shareTwitterUrl() { + return `https://twitter.com/intent/tweet?text=${encodeURIComponent(this.messageWithURL)}` + }, + shareFacebookUrl() { + return `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(this.reference)}` + }, + logoPathAbsolute() { + return window.location.protocol + '//' + window.location.host + this.logoPath + }, + backgroundStyle() { + return `padding:10px;background-color:${this.color};color:${this.textColor};border-radius:3px;padding-left:4px;` + }, + linkStyle() { + return `background-image:url(${this.logoPathAbsolute});width:50px;height:30px;position:relative;top:8px;background-size:contain;display:inline-block;background-repeat:no-repeat; background-position: center center;` + }, + htmlCode() { + return `<a target="_blank" rel="noreferrer noopener" href="${this.reference}" style="${this.backgroundStyle}"> + <span style="${this.linkStyle}"></span> + ${t('federatedfilesharing', 'Share with me via Nextcloud')} +</a>` + }, + copyLinkTooltip() { + return this.isCopied ? t('federatedfilesharing', 'CloudId copied to the clipboard') : t('federatedfilesharing', 'Copy to clipboard') + }, + }, + methods: { + async copyCloudId() { + if (!navigator.clipboard) { + // Clipboard API not available + showError(t('federatedfilesharing', 'Clipboard is not available')) + return + } + await navigator.clipboard.writeText(this.cloudId) + this.isCopied = true + this.$refs.clipboard.$el.focus() + }, + goTo(url) { + window.location.href = url + }, + }, +} +</script> + +<style lang="scss" scoped> + .social-button { + margin-top: 0.5rem; + button { + display: inline-flex; + margin-left: 0.5rem; + margin-top: 1rem; + } + } + .cloud-id-text { + display: flex; + align-items: center; + button { + display: inline-flex; + } + } + pre { + margin-top: 0; + white-space: pre-wrap; + } + #cloudid { + margin-left: 0.25rem; + } +</style> diff --git a/apps/federatedfilesharing/src/main-personal.js b/apps/federatedfilesharing/src/main-personal.js new file mode 100644 index 00000000000..d58ebe12d2d --- /dev/null +++ b/apps/federatedfilesharing/src/main-personal.js @@ -0,0 +1,36 @@ +/** + * SPDX-FileLicenseText: 2022 Carl Schwan <carl@carlschwan.eu> + * SPDX-License-Identifier: AGPL-3.0-or-later + * + * 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 <http://www.gnu.org/licenses/>. + * + */ + +import Vue from 'vue' +import { getRequestToken } from '@nextcloud/auth' +import { translate as t } from '@nextcloud/l10n' +import '@nextcloud/dialogs/styles/toast.scss' + +import PersonalSettings from './components/PersonalSettings' + +__webpack_nonce__ = btoa(getRequestToken()) + +Vue.mixin({ + methods: { + t, + }, +}) + +const PersonalSettingsView = Vue.extend(PersonalSettings) +new PersonalSettingsView().$mount('#vue-personal-federated') diff --git a/apps/federatedfilesharing/templates/settings-personal.php b/apps/federatedfilesharing/templates/settings-personal.php index 2e81ccf6497..4f71a78aef5 100644 --- a/apps/federatedfilesharing/templates/settings-personal.php +++ b/apps/federatedfilesharing/templates/settings-personal.php @@ -1,60 +1,26 @@ <?php -/** @var \OCP\IL10N $l */ -/** @var array $_ */ -script('federatedfilesharing', 'settings-personal'); -style('federatedfilesharing', 'settings-personal'); +/* + * @copyright 2022 Carl Schwan <carl@carlschwan.eu> + * + * @author Carl Schwan <carl@carlschwan.eu> + * + * @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 <http://www.gnu.org/licenses/>. +*/ + +\OCP\Util::addScript('federatedfilesharing', 'vue-settings-personal'); ?> -<div id="fileSharingSettings" class="section"> - <h2 data-anchor-name="federated-cloud"><?php p($l->t('Federated Cloud')); ?></h2> - <a target="_blank" rel="noreferrer noopener" class="icon-info svg" - title="<?php p($l->t('Open documentation'));?>" - href="<?php p(link_to_docs('user-sharing-federated')); ?>"></a> - <p class="settings-hint"><?php p($l->t('You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com')); ?></p> - - <p> - <?php p($l->t('Your Federated Cloud ID:')); ?> - <strong id="cloudid"><?php p($_['cloudId']); ?></strong> - <a class="clipboardButton icon icon-clippy" data-clipboard-target="#cloudid"></a> - </p> - - <br> - - <p> - <?php p($l->t('Share it so your friends can share files with you:')); ?><br> - <button class="social-facebook pop-up social_sharing_buttons" - data-url='https://www.facebook.com/sharer/sharer.php?u=<?php p(urlencode($_['reference'])); ?>'> - Facebook - </button> - <button class="social-twitter pop-up social_sharing_buttons" - data-url='https://twitter.com/intent/tweet?text=<?php p(urlencode($_['message_with_URL'])); ?>'> - Twitter - </button> - <button class="social-diaspora pop-up social_sharing_buttons" - data-url='https://share.diasporafoundation.org/?title=<?php p($_['message_without_URL']); ?>&url=<?php p(urlencode($_['reference'])); ?>'> - Diaspora - </button> - <button id="oca-files-sharing-add-to-your-website"> - <?php p($l->t('Add to your website')) ?> - </button> - </p> - - <div class="hidden" id="oca-files-sharing-add-to-your-website-expanded"> - <p style="margin: 10px 0"> - <a target="_blank" rel="noreferrer noopener" href="<?php p($_['reference']); ?>" - style="padding:10px;background-color:<?php p($_['color']); ?>;color:<?php p($_['textColor']); ?>;border-radius:3px;padding-left:4px;"> - <span style="background-image:url(<?php p(\OC::$server->getURLGenerator()->getAbsoluteURL($_['logoPath'])); ?>);width:50px;height:30px;position:relative;top:8px;background-size:contain;display:inline-block;background-repeat:no-repeat; background-position: center center;"></span> - <?php p($l->t('Share with me via Nextcloud')); ?> - </a> - </p> - - <p> - <?php p($l->t('HTML Code:')); ?> - <xmp><a target="_blank" rel="noreferrer noopener" href="<?php p($_['reference']); ?>" style="padding:10px;background-color:<?php p($_['color']); ?>;color:<?php p($_['textColor']); ?>;border-radius:3px;padding-left:4px;"> -<span style="background-image:url(<?php p(\OC::$server->getURLGenerator()->getAbsoluteURL($_['logoPath'])); ?>);width:50px;height:30px;position:relative;top:8px;background-size:contain;display:inline-block;background-repeat:no-repeat; background-position: center center;"></span> -<?php p($l->t('Share with me via Nextcloud')); ?></a></xmp> - </p> - </div> - -</div> - +<div id="vue-personal-federated"></div> |