diff --git a/external/ajax/setsites.php b/external/ajax/setsites.php
index 7b7ee6267d..c2b0012f32 100644
--- a/external/ajax/setsites.php
+++ b/external/ajax/setsites.php
@@ -14,7 +14,7 @@
$sites = array();
for ($i = 0; $i < sizeof($_POST['site_name']); $i++) {
if (!empty($_POST['site_name'][$i]) && !empty($_POST['site_url'][$i])) {
- array_push($sites, array(strip_tags($_POST['site_name'][$i]), strip_tags($_POST['site_url'][$i]), strip_tags($_POST['site_icon'][$i])));
+ array_push($sites, array(strip_tags($_POST['site_name'][$i]), strip_tags($_POST['site_url'][$i]), strip_tags($_POST['site_icon'][$i]), strip_tags($_POST['site_target'][$i])));
}
}
diff --git a/external/appinfo/app.php b/external/appinfo/app.php
index b27fa4ef6b..225ea75498 100644
--- a/external/appinfo/app.php
+++ b/external/appinfo/app.php
@@ -31,12 +31,14 @@
$navigationManager = \OC::$server->getNavigationManager();
for ($i = 0; $i < sizeof($sites); $i++) {
$navigationEntry = function () use ($i, $urlGenerator, $sites) {
+ $href = ($sites[$i][3] == 'iframe') ? $urlGenerator->linkToRoute('external_index', ['id'=> $i + 1]) : $sites[$i][1];
return [
'id' => 'external_index' . ($i + 1),
'order' => 80 + $i,
- 'href' => $urlGenerator->linkToRoute('external_index', ['id'=> $i + 1]),
+ 'href' => $href,
'icon' => $urlGenerator->imagePath('external', !empty($sites[$i][2]) ? $sites[$i][2] : 'external.svg'),
'name' => $sites[$i][0],
+ 'target' => $sites[$i][3],
];
};
$navigationManager->add($navigationEntry);
diff --git a/external/settings.php b/external/settings.php
index 3b08233395..4dd07a701b 100644
--- a/external/settings.php
+++ b/external/settings.php
@@ -8,5 +8,6 @@
$tmpl = new OCP\Template( 'external', 'settings');
$tmpl->assign('images', glob(\OC_App::getAppPath('external') . '/img/*.*'));
+$tmpl->assign('targets', array('iframe', 'self'));
return $tmpl->fetchPage();
diff --git a/external/templates/settings.php b/external/templates/settings.php
index 7115c11376..dd86f59ecc 100644
--- a/external/templates/settings.php
+++ b/external/templates/settings.php
@@ -31,8 +31,15 @@
} else {
print_unescaped('');
}
- print_unescaped('
-
+ print_unescaped('
');
}
if(sizeof($sites) === 0) {