diff options
Diffstat (limited to 'admin/apps.php')
-rw-r--r-- | admin/apps.php | 98 |
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); + } } - ?> - |