summaryrefslogtreecommitdiffstats
path: root/admin/apps.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin/apps.php')
-rw-r--r--admin/apps.php98
1 files changed, 58 insertions, 40 deletions
diff --git a/admin/apps.php b/admin/apps.php
index 7ce3f4c419f..b47611f536d 100644
--- a/admin/apps.php
+++ b/admin/apps.php
@@ -22,70 +22,88 @@
*/
require_once('../lib/base.php');
+include_once('../lib/installer.php');
require( 'template.php' );
-if( !OC_USER::isLoggedIn() || !OC_GROUP::inGroup( $_SESSION['user_id'], 'admin' )){
+if( !OC_USER::isLoggedIn() || !OC_GROUP::inGroup( OC_USER::getUser(), 'admin' )){
header( "Location: ".OC_HELPER::linkTo( "", "index.php" ));
exit();
}
// Load the files we need
OC_UTIL::addStyle( "admin", "apps" );
+OC_UTIL::addScript( "admin", "apps" );
if(isset($_GET['id'])) $id=$_GET['id']; else $id=0;
if(isset($_GET['cat'])) $cat=$_GET['cat']; else $cat=0;
+if(isset($_GET['installed'])) $installed=true; else $installed=false;
+
+if($installed){
+ global $SERVERROOT;
+ OC_INSTALLER::installShippedApps(false);
+ $apps = OC_APPCONFIG::getApps();
+ $records = array();
+
+ OC_APP::setActiveNavigationEntry( "core_apps_installed" );
+ foreach($apps as $app){
+ $info=OC_APP::getAppInfo("$SERVERROOT/apps/$app/appinfo/info.xml");
+ $record = array( 'id' => $app,
+ 'name' => $info['name'],
+ 'version' => $info['version'],
+ 'author' => $info['author'],
+ 'enabled' => OC_APP::isEnabled( $app ));
+ $records[]=$record;
+ }
-$categories=OC_OCSCLIENT::getCategories();
-
-/*
-
-All
-Installed Apps
-
+ $tmpl = new OC_TEMPLATE( "admin", "appsinst", "admin" );
+ $tmpl->assign( "apps", $records );
+ $tmpl->printPage();
+ unset($tmpl);
+ exit();
+}else{
+ $categories=OC_OCSCLIENT::getCategories();
+ if($categories==NULL){
+ OC_APP::setActiveNavigationEntry( "core_apps" );
-foreach($categories as $key=>$value) {
-print_r($value);
-}
+ $tmpl = new OC_TEMPLATE( "admin", "app_noconn", "admin" );
+ $tmpl->printPage();
+ unset($tmpl);
+ exit();
+ }
-*/
+ if($id==0) {
+ OC_APP::setActiveNavigationEntry( "core_apps" );
-// OC_APP::setActiveNavigationEntry( "core_apps_installed" );
+ if($cat==0){
+ $numcats=array();
+ foreach($categories as $key=>$value) $numcats[]=$key;
+ $apps=OC_OCSCLIENT::getApplications($numcats);
+ }else{
+ $apps=OC_OCSCLIENT::getApplications($cat);
+ }
+ // return template
+ $tmpl = new OC_TEMPLATE( "admin", "apps", "admin" );
-if($id==0) {
- OC_APP::setActiveNavigationEntry( "core_apps" );
+ $tmpl->assign( "categories", $categories );
+ $tmpl->assign( "apps", $apps );
+ $tmpl->printPage();
+ unset($tmpl);
- if($cat==0){
- $numcats=array();
- foreach($categories as $key=>$value) $numcats[]=$key;
- $apps=OC_OCSCLIENT::getApplications($numcats);
}else{
- $apps=OC_OCSCLIENT::getApplications($cat);
- }
+ OC_APP::setActiveNavigationEntry( "core_apps" );
- // return template
- $tmpl = new OC_TEMPLATE( "admin", "apps", "admin" );
+ $app=OC_OCSCLIENT::getApplication($id);
- $tmpl->assign( "categories", $categories );
- $tmpl->assign( "apps", $apps );
- $tmpl->printPage();
- unset($tmpl);
-
-}else{
- OC_APP::setActiveNavigationEntry( "core_apps" );
-
- $app=OC_OCSCLIENT::getApplication($id);
-
- $tmpl = new OC_TEMPLATE( "admin", "app", "admin" );
- $tmpl->assign( "categories", $categories );
- $tmpl->assign( "app", $app );
- $tmpl->printPage();
- unset($tmpl);
+ $tmpl = new OC_TEMPLATE( "admin", "app", "admin" );
+ $tmpl->assign( "categories", $categories );
+ $tmpl->assign( "app", $app );
+ $tmpl->printPage();
+ unset($tmpl);
+ }
}
-
?>
-