From 045c42aa99d3f7ad45434ab371828853f3378968 Mon Sep 17 00:00:00 2001 From: Frank Karlitschek Date: Sat, 22 Oct 2011 15:44:34 +0200 Subject: [PATCH] new "external" application. you can integrate external application like roundcube, squirellmail or a wiki into ownCloud. --- apps/external/ajax/seturls.php | 24 +++ apps/external/appinfo/app.php | 37 ++++ apps/external/appinfo/info.xml | 10 + apps/external/img/external.png | Bin 0 -> 459 bytes apps/external/img/external.svg | 292 +++++++++++++++++++++++++++ apps/external/index.php | 47 +++++ apps/external/js/admin.js | 68 +++++++ apps/external/settings.php | 22 ++ apps/external/templates/frame.php | 26 +++ apps/external/templates/settings.php | 23 +++ 10 files changed, 549 insertions(+) create mode 100644 apps/external/ajax/seturls.php create mode 100644 apps/external/appinfo/app.php create mode 100644 apps/external/appinfo/info.xml create mode 100644 apps/external/img/external.png create mode 100644 apps/external/img/external.svg create mode 100644 apps/external/index.php create mode 100644 apps/external/js/admin.js create mode 100644 apps/external/settings.php create mode 100644 apps/external/templates/frame.php create mode 100644 apps/external/templates/settings.php diff --git a/apps/external/ajax/seturls.php b/apps/external/ajax/seturls.php new file mode 100644 index 0000000000..c8e9775454 --- /dev/null +++ b/apps/external/ajax/seturls.php @@ -0,0 +1,24 @@ + + * This file is licensed under the Affero General Public License version 3 or later. + * See the COPYING-README file. + */ + +require_once('../../../lib/base.php'); +OC_Util::checkAdminUser(); + +if(isset($_POST['s1name'])) OC_Config::setValue( 'external-site1name', $_POST['s1name'] ); +if(isset($_POST['s1url'])) OC_Config::setValue( 'external-site1url', $_POST['s1url'] ); +if(isset($_POST['s2name'])) OC_Config::setValue( 'external-site2name', $_POST['s2name'] ); +if(isset($_POST['s2url'])) OC_Config::setValue( 'external-site2url', $_POST['s2url'] ); +if(isset($_POST['s3name'])) OC_Config::setValue( 'external-site3name', $_POST['s3name'] ); +if(isset($_POST['s3url'])) OC_Config::setValue( 'external-site3url', $_POST['s3url'] ); +if(isset($_POST['s4name'])) OC_Config::setValue( 'external-site4name', $_POST['s4name'] ); +if(isset($_POST['s4url'])) OC_Config::setValue( 'external-site4url', $_POST['s4url'] ); +if(isset($_POST['s5name'])) OC_Config::setValue( 'external-site5name', $_POST['s5name'] ); +if(isset($_POST['s5url'])) OC_Config::setValue( 'external-site5url', $_POST['s5url'] ); + +echo 'true'; + +?> diff --git a/apps/external/appinfo/app.php b/apps/external/appinfo/app.php new file mode 100644 index 0000000000..df14954d86 --- /dev/null +++ b/apps/external/appinfo/app.php @@ -0,0 +1,37 @@ +. +* +*/ + +OC_APP::registerAdmin('external','settings'); + +OC_App::register( array( 'order' => 70, 'id' => 'external', 'name' => 'External' )); + +if(OC_Config::getValue( "external-site1name", '' )<>'') OC_App::addNavigationEntry( array( 'id' => 'external_index1', 'order' => 80, 'href' => OC_Helper::linkTo( 'external', 'index.php' ).'?id=1', 'icon' => OC_Helper::imagePath( 'external', 'external.png' ), 'name' => OC_Config::getValue( "external-site1name", '' ))); + +if(OC_Config::getValue( "external-site2name", '' )<>'') OC_App::addNavigationEntry( array( 'id' => 'external_index2', 'order' => 80, 'href' => OC_Helper::linkTo( 'external', 'index.php' ).'?id=2', 'icon' => OC_Helper::imagePath( 'external', 'external.png' ), 'name' => OC_Config::getValue( "external-site2name", '' ))); + +if(OC_Config::getValue( "external-site3name", '' )<>'') OC_App::addNavigationEntry( array( 'id' => 'external_index3', 'order' => 80, 'href' => OC_Helper::linkTo( 'external', 'index.php' ).'?id=3', 'icon' => OC_Helper::imagePath( 'external', 'external.png' ), 'name' => OC_Config::getValue( "external-site3name", '' ))); + +if(OC_Config::getValue( "external-site4name", '' )<>'') OC_App::addNavigationEntry( array( 'id' => 'external_index4', 'order' => 80, 'href' => OC_Helper::linkTo( 'external', 'index.php' ).'?id=4', 'icon' => OC_Helper::imagePath( 'external', 'external.png' ), 'name' => OC_Config::getValue( "external-site4name", '' ))); + +if(OC_Config::getValue( "external-site5name", '' )<>'') OC_App::addNavigationEntry( array( 'id' => 'external_index5', 'order' => 80, 'href' => OC_Helper::linkTo( 'external', 'index.php' ).'?id=5', 'icon' => OC_Helper::imagePath( 'external', 'external.png' ), 'name' => OC_Config::getValue( "external-site5name", '' ))); + diff --git a/apps/external/appinfo/info.xml b/apps/external/appinfo/info.xml new file mode 100644 index 0000000000..05f5709916 --- /dev/null +++ b/apps/external/appinfo/info.xml @@ -0,0 +1,10 @@ + + + external + External + Show external Application in the ownCloud menu + 1.0 + AGPL + Frank Karlitschek + 2 + diff --git a/apps/external/img/external.png b/apps/external/img/external.png new file mode 100644 index 0000000000000000000000000000000000000000..75d1366326b1bb1ef22ffba0a0982ed5112096c4 GIT binary patch literal 459 zcmV;+0W|)JP)oIwx<;AfLq94B@mVi58J(u!g@NEgJ)LV`^| z(g^l;l3$@HSlOnzE|4Z9pdr{<3WsUrND!>VfLtbp`(2jxYeELLnAw?kX5N`e5#fL2 zQEf;mb+L&B%;OhM@fAA}ab5a9sDgX=lI>HN!BY%zg~ROgS0X}gqlXbzv%Z9Nyg^_Z z347>`wuw*=VASvo~UlQ_@zz_;S>CAK1B%)w%A=O%M8 zi_dsgblXWOHKgBSZp;BLa+Z1Q;%AY$dB5?bsN$%sppj*~z+?Ai7!f}T{b5-_zsh#j zQo#+L<5ed4eH)2^kJ+|{?=3)q4-JX+7z4*epA&f30x(dHv09|S>%#uF3LdE!sR9|e zoBxWtt-Gx<_sW=5Ut@7hi<((;f@3YmbPwQP + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/external/index.php b/apps/external/index.php new file mode 100644 index 0000000000..116e16d909 --- /dev/null +++ b/apps/external/index.php @@ -0,0 +1,47 @@ +. +* +*/ + +require_once('../../lib/base.php'); + +// Check if we are a user +if( !OC_User::isLoggedIn()){ + header( "Location: ".OC_Helper::linkTo( '', 'index.php' )); + exit(); +} + + +if(isset($_GET['id'])){ + + $id=$_GET['id']; + $id = (int) $id; + + $url=OC_Config::getValue( "external-site".$id."url", '' ); + OC_App::setActiveNavigationEntry( 'external_index'.$id ); + + $tmpl = new OC_Template( 'external', 'frame', 'user' ); + $tmpl->assign('url',$url); + $tmpl->printPage(); + +} + +?> diff --git a/apps/external/js/admin.js b/apps/external/js/admin.js new file mode 100644 index 0000000000..6b9b6c6773 --- /dev/null +++ b/apps/external/js/admin.js @@ -0,0 +1,68 @@ +$(document).ready(function(){ + + + + $('#s1name').blur(function(event){ + event.preventDefault(); + var post = $( "#s1name" ).serialize(); + $.post( OC.filePath('external','ajax','seturls.php') , post, function(data){ OC.msg.finishedSaving('#s1name .msg', data); }); + }); + + $('#s2name').blur(function(event){ + event.preventDefault(); + var post = $( "#s2name" ).serialize(); + $.post( OC.filePath('external','ajax','seturls.php') , post, function(data){ OC.msg.finishedSaving('#s2name .msg', data); }); + }); + + $('#s3name').blur(function(event){ + event.preventDefault(); + var post = $( "#s3name" ).serialize(); + $.post( OC.filePath('external','ajax','seturls.php') , post, function(data){ OC.msg.finishedSaving('#s3name .msg', data); }); + }); + + $('#s4name').blur(function(event){ + event.preventDefault(); + var post = $( "#s4name" ).serialize(); + $.post( OC.filePath('external','ajax','seturls.php') , post, function(data){ OC.msg.finishedSaving('#s4name .msg', data); }); + }); + + $('#s5name').blur(function(event){ + event.preventDefault(); + var post = $( "#s5name" ).serialize(); + $.post( OC.filePath('external','ajax','seturls.php') , post, function(data){ OC.msg.finishedSaving('#s5name .msg', data); }); + }); + + $('#s1url').blur(function(event){ + event.preventDefault(); + var post = $( "#s1url" ).serialize(); + $.post( OC.filePath('external','ajax','seturls.php') , post, function(data){ OC.msg.finishedSaving('#s1url .msg', data); }); + }); + + $('#s2url').blur(function(event){ + event.preventDefault(); + var post = $( "#s2url" ).serialize(); + $.post( OC.filePath('external','ajax','seturls.php') , post, function(data){ OC.msg.finishedSaving('#s2url .msg', data); }); + }); + + $('#s3url').blur(function(event){ + event.preventDefault(); + var post = $( "#s3url" ).serialize(); + $.post( OC.filePath('external','ajax','seturls.php') , post, function(data){ OC.msg.finishedSaving('#s3url .msg', data); }); + }); + + $('#s4url').blur(function(event){ + event.preventDefault(); + var post = $( "#s4url" ).serialize(); + $.post( OC.filePath('external','ajax','seturls.php') , post, function(data){ OC.msg.finishedSaving('#s4url .msg', data); }); + }); + + $('#s5url').blur(function(event){ + event.preventDefault(); + var post = $( "#s5url" ).serialize(); + $.post( OC.filePath('external','ajax','seturls.php') , post, function(data){ OC.msg.finishedSaving('#s5url .msg', data); }); + }); + + +}); + + diff --git a/apps/external/settings.php b/apps/external/settings.php new file mode 100644 index 0000000000..ad33c16e1b --- /dev/null +++ b/apps/external/settings.php @@ -0,0 +1,22 @@ +assign('s1name',OC_Config::getValue( "external-site1name", '' )); + $tmpl->assign('s2name',OC_Config::getValue( "external-site2name", '' )); + $tmpl->assign('s3name',OC_Config::getValue( "external-site3name", '' )); + $tmpl->assign('s4name',OC_Config::getValue( "external-site4name", '' )); + $tmpl->assign('s5name',OC_Config::getValue( "external-site5name", '' )); + + $tmpl->assign('s1url',OC_Config::getValue( "external-site1url", '' )); + $tmpl->assign('s2url',OC_Config::getValue( "external-site2url", '' )); + $tmpl->assign('s3url',OC_Config::getValue( "external-site3url", '' )); + $tmpl->assign('s4url',OC_Config::getValue( "external-site4url", '' )); + $tmpl->assign('s5url',OC_Config::getValue( "external-site5url", '' )); + +return $tmpl->fetchPage(); +?> diff --git a/apps/external/templates/frame.php b/apps/external/templates/frame.php new file mode 100644 index 0000000000..38b4008353 --- /dev/null +++ b/apps/external/templates/frame.php @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/apps/external/templates/settings.php b/apps/external/templates/settings.php new file mode 100644 index 0000000000..a72327d35c --- /dev/null +++ b/apps/external/templates/settings.php @@ -0,0 +1,23 @@ +
+
+ External Sites
+ + +
+ + +
+ + +
+ + +
+ + +
+ + + +
+