diff --git a/apps/files_sharing/app/sharing.php b/apps/files_sharing/app/sharing.php deleted file mode 100644 index 427269755b..0000000000 --- a/apps/files_sharing/app/sharing.php +++ /dev/null @@ -1,25 +0,0 @@ -getContainer(); - - /** - * Controllers - */ - $container->registerService('AdminSettingsController', function($c) { - return new AdminSettingsController( - $c->query('AppName'), - $c->query('Request') - ); - }); - } -} diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php index d44c652dd9..6b40ba921c 100644 --- a/apps/files_sharing/appinfo/app.php +++ b/apps/files_sharing/appinfo/app.php @@ -21,9 +21,6 @@ OCP\Util::addScript('files_sharing', 'share'); \OC_Hook::connect('OC_Filesystem', 'post_rename', '\OC\Files\Cache\Shared_Updater', 'renameHook'); \OC_Hook::connect('OC_Appconfig', 'post_set_value', '\OCA\Files\Share\Maintainer', 'configChangeHook'); -// Register settings scripts for mail template editing -OCP\App::registerAdmin('files_sharing', 'settings-admin'); - OC_FileProxy::register(new OCA\Files\Share\Proxy()); \OCA\Files\App::getNavigationManager()->add( diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php index 78d4276f98..7c2834dc9c 100644 --- a/apps/files_sharing/appinfo/routes.php +++ b/apps/files_sharing/appinfo/routes.php @@ -5,21 +5,6 @@ $this->create('core_ajax_public_preview', '/publicpreview')->action( require_once __DIR__ . '/../ajax/publicpreview.php'; }); -use \OCA\Files_Sharing\App\Sharing; - -$app = new Sharing(); - -$app->registerRoutes($this, array('routes' => array( - - // mailTemplate settings - array('name' => 'admin_settings#render_raw', 'url' => '/settings/mailtemplate', 'verb' => 'GET'), - - array('name' => 'admin_settings#update', 'url' => '/settings/mailtemplate', 'verb' => 'POST'), - - array('name' => 'admin_settings#reset', 'url' => '/settings/mailtemplate', 'verb' => 'DELETE') - -))); - // OCS API //TODO: SET: mail notification, waiting for PR #4689 to be accepted diff --git a/apps/files_sharing/controller/adminsettingscontroller.php b/apps/files_sharing/controller/adminsettingscontroller.php deleted file mode 100644 index 5192b6239e..0000000000 --- a/apps/files_sharing/controller/adminsettingscontroller.php +++ /dev/null @@ -1,60 +0,0 @@ -getResponse(); - } catch (\Exception $ex) { - return new JSONResponse(array('message' => $ex->getMessage()), $ex->getCode()); - } - } - - /** - * @param string $theme - * @param string $template - * @param string $content - * @return JSONResponse - */ - public function update( $theme, $template, $content ) { - try { - $template = new \OCA\Files_Sharing\MailTemplate( $theme, $template ); - $template->setContent( $content ); - return new JSONResponse(); - } catch (\Exception $ex) { - return new JSONResponse(array('message' => $ex->getMessage()), $ex->getCode()); - } - } - - /** - * @param string $theme - * @param string $template - * @return JSONResponse - */ - public function reset( $theme, $template ) { - try { - $template = new \OCA\Files_Sharing\MailTemplate( $theme, $template ); - $template->reset(); - return new JSONResponse(); - } catch (\Exception $ex) { - return new JSONResponse(array('message' => $ex->getMessage()), $ex->getCode()); - } - } - -} diff --git a/apps/files_sharing/css/settings-admin.css b/apps/files_sharing/css/settings-admin.css deleted file mode 100644 index 7ee7196343..0000000000 --- a/apps/files_sharing/css/settings-admin.css +++ /dev/null @@ -1,33 +0,0 @@ -#mailTemplateSettings .actions div { - display: inline-block; -} - -#mailTemplateSettings div label { - display: block -} - -#mailTemplateSettings textarea { - box-sizing: border-box; - width: 100%; - height: 150px; -} - -#mailTemplateSettings .templateEditor + .actions { - height:28px; -} - - -#mailTemplateSettings .actions .reset { - margin: 0; -} - -#mailTemplateSettings .actions .save { - float: right; - margin: 0; -} - -#mailTemplateSettings #mts-msg { - float: right; - margin: 1px 5px; - padding:3px; -} diff --git a/apps/files_sharing/http/mailtemplateresponse.php b/apps/files_sharing/http/mailtemplateresponse.php deleted file mode 100644 index 98a2dfcc94..0000000000 --- a/apps/files_sharing/http/mailtemplateresponse.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library 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 library. If not, see . - * - */ - -namespace OCA\Files_Sharing\Http; - -/** - * Prompts the user to download the a file - */ -class MailTemplateResponse extends \OCP\AppFramework\Http\Response { - - private $filename; - private $contentType; - - /** - * Creates a response that prompts the user to download the file - * @param string $filename the name that the downloaded file should have - * @param string $contentType the mimetype that the downloaded file should have - */ - public function __construct($filename, $contentType = 'text/php') { - $this->filename = $filename; - $this->contentType = $contentType; - - $this->addHeader('Content-Disposition', 'attachment; filename="' . $filename . '"'); - $this->addHeader('Content-Type', $contentType); - } - - /** - * Returns the raw template content - * @return string the file - */ - public function render(){ - return file_get_contents($this->filename); - } - -} diff --git a/apps/files_sharing/js/settings-admin.js b/apps/files_sharing/js/settings-admin.js deleted file mode 100644 index e22aa4b0c3..0000000000 --- a/apps/files_sharing/js/settings-admin.js +++ /dev/null @@ -1,78 +0,0 @@ -$(document).ready(function() { - - var loadTemplate = function (theme, template) { - $.get( - OC.generateUrl('apps/files_sharing/settings/mailtemplate'), - { theme: theme, template: template } - ).done(function( result ) { - $( '#mailTemplateSettings textarea' ).val(result); - }).fail(function( result ) { - OC.dialogs.alert(result.responseJSON.message, t('files_sharing', 'Could not load template')); - }); - }; - - // load default template - var theme = $( '#mts-theme' ).val(); - var template = $( '#mts-template' ).val(); - loadTemplate(theme, template); - - $( '#mts-template' ).change( - function() { - var theme = $( '#mts-theme' ).val(); - var template = $( this ).val(); - loadTemplate(theme, template); - } - ); - - $( '#mts-theme' ).change( - function() { - var theme = $( this ).val(); - var template = $( '#mts-template' ).val(); - loadTemplate(theme, template); - } - ); - - $( '#mailTemplateSettings .actions' ).on('click', '.save', - function() { - var theme = $( '#mts-theme' ).val(); - var template = $( '#mts-template' ).val(); - var content = $( '#mailTemplateSettings textarea' ).val(); - OC.msg.startSaving('#mts-msg'); - $.post( - OC.generateUrl('apps/files_sharing/settings/mailtemplate'), - { theme: theme, template: template, content: content } - ).done(function() { - var data = { status:'success', data:{message:t('files_sharing', 'Saved')} }; - OC.msg.finishedSaving('#mts-msg', data); - }).fail(function(result) { - var data = { status: 'error', data:{message:result.responseJSON.message} }; - OC.msg.finishedSaving('#mts-msg', data); - }); - } - ); - - $( '#mailTemplateSettings .actions' ).on('click', '.reset', - function() { - var theme = $( '#mts-theme' ).val(); - var template = $( '#mts-template' ).val(); - OC.msg.startSaving('#mts-msg'); - $.ajax({ - type: "DELETE", - url: OC.generateUrl('apps/files_sharing/settings/mailtemplate'), - data: { theme: theme, template: template } - }).done(function() { - var data = { status:'success', data:{message:t('files_sharing', 'Reset')} }; - OC.msg.finishedSaving('#mts-msg', data); - - // load default template - var theme = $( '#mts-theme' ).val(); - var template = $( '#mts-template' ).val(); - loadTemplate(theme, template); - }).fail(function(result) { - var data = { status: 'error', data:{message:result.responseJSON.message} }; - OC.msg.finishedSaving('#mts-msg', data); - }); - } - ); - -}); diff --git a/apps/files_sharing/lib/mailtemplate.php b/apps/files_sharing/lib/mailtemplate.php deleted file mode 100644 index ca1b0234cc..0000000000 --- a/apps/files_sharing/lib/mailtemplate.php +++ /dev/null @@ -1,126 +0,0 @@ -theme = $theme; - $this->path = $path; - - //determine valid theme names - $this->editableThemes = self::getEditableThemes(); - //for now hard code the valid mail template paths - $this->editableTemplates = self::getEditableTemplates(); - } - - /** - * - * @return \OCA\Files_Sharing\Http\MailTemplateResponse - */ - public function getResponse() { - if($this->isEditable()) { - list($app, $filename) = explode('/templates/', $this->path, 2); - $name = substr($filename, 0, -4); - list($path, $template) = $this->findTemplate($this->theme, $app, $name, ''); - return new MailTemplateResponse($template); - } - throw new SecurityException('Template not editable.', 403); - } - - public function renderContent() { - if($this->isEditable()) { - list($app, $filename) = explode('/templates/', $this->path, 2); - $name = substr($filename, 0, -4); - list($path, $template) = $this->findTemplate($this->theme, $app, $name, ''); - \OC_Response::sendFile($template); - } else { - throw new SecurityException('Template not editable.', 403); - } - } - - public function isEditable() { - if ($this->editableThemes[$this->theme] - && $this->editableTemplates[$this->path] - ) { - return true; - } - return false; - } - - public function setContent($data) { - if($this->isEditable()) { - //save default templates in default folder to overwrite core template - $absolutePath = \OC::$SERVERROOT.'/themes/'.$this->theme.'/'.$this->path; - $parent = dirname($absolutePath); - if ( ! is_dir($parent) ) { - if ( ! mkdir(dirname($absolutePath), 0777, true) ){ - throw new \Exception('Could not create directory.', 500); - } - } - if ( $this->theme !== 'default' && is_file($absolutePath) ) { - if ( ! copy($absolutePath, $absolutePath.'.bak') ){ - throw new \Exception('Could not overwrite template.', 500); - } - } - //overwrite theme templates? versioning? - return file_put_contents($absolutePath, $data); - } - throw new SecurityException('Template not editable.', 403); - } - - public function reset(){ - if($this->isEditable()) { - $absolutePath = \OC::$SERVERROOT.'/themes/'.$this->theme.'/'.$this->path; - if ($this->theme === 'default') { - //templates can simply be deleted in the themes folder - if (unlink($absolutePath)) { - return true; - } - } else { - //if a bak file exists overwrite the template with it - if (is_file($absolutePath.'.bak')) { - if (rename($absolutePath.'.bak', $absolutePath)) { - return true; - } - } - } - return false; - } - throw new NotPermittedException('Template not editable.', 403); - } - - public static function getEditableThemes() { - $themes = array( - 'default' => true - ); - if ($handle = opendir(\OC::$SERVERROOT.'/themes')) { - while (false !== ($entry = readdir($handle))) { - if ($entry != '.' && $entry != '..' && $entry != 'default') { - if (is_dir(\OC::$SERVERROOT.'/themes/'.$entry)) { - $themes[$entry] = true; - } - } - } - closedir($handle); - } - return $themes; - } - - public static function getEditableTemplates() { - return array( - 'core/templates/mail.php' => true, - 'core/templates/altmail.php' => true, - 'core/lostpassword/templates/email.php' => true, - ); - } -} diff --git a/apps/files_sharing/settings-admin.php b/apps/files_sharing/settings-admin.php deleted file mode 100644 index 8f15e27231..0000000000 --- a/apps/files_sharing/settings-admin.php +++ /dev/null @@ -1,21 +0,0 @@ - - * This file is licensed under the Affero General Public License version 3 or - * later. - * See the COPYING-README file. - */ - -\OC_Util::checkAdminUser(); - -\OCP\Util::addStyle('files_sharing', 'settings-admin'); -\OCP\Util::addScript('files_sharing', 'settings-admin'); - -$themes = \OCA\Files_Sharing\MailTemplate::getEditableThemes(); -$editableTemplates = \OCA\Files_Sharing\MailTemplate::getEditableTemplates(); - -$tmpl = new OCP\Template('files_sharing', 'settings-admin'); -$tmpl->assign('themes', $themes); -$tmpl->assign('editableTemplates', $editableTemplates); - -return $tmpl->fetchPage(); diff --git a/apps/files_sharing/templates/settings-admin.php b/apps/files_sharing/templates/settings-admin.php deleted file mode 100644 index 4021be871c..0000000000 --- a/apps/files_sharing/templates/settings-admin.php +++ /dev/null @@ -1,41 +0,0 @@ -
- -

t('Mail templates'));?>

- -
- -
- - -
- -
- - -
- -
- -
- -
- -
- - - - - - - -
- -