. * */ require_once('../lib/base.php'); OC_Util::checkAdminUser(); // Load the files we need OC_Util::addStyle( "settings", "settings" ); OC_Util::addScript( "settings", "apps" ); OC_App::setActiveNavigationEntry( "core_apps" ); $registeredApps=OC_App::getAllApps(); $apps=array(); $blacklist=array('files_imageviewer','files_textviewer');//we dont want to show configuration for these foreach($registeredApps as $app){ if(array_search($app,$blacklist)===false){ $info=OC_App::getAppInfo($app); $active=(OC_Appconfig::getValue($app,'enabled','no')=='yes')?true:false; $info['active']=$active; $apps[]=$info; } } function app_sort($a, $b){ if ($a['active'] != $b['active']){ return $b['active'] - $a['active']; } return strcmp($a['name'], $b['name']); } usort($apps, 'app_sort'); // apps from external repo via OCS $catagoryNames=OC_OCSClient::getCategories(); if(is_array($catagoryNames)){ $categories=array_keys($catagoryNames); $externalApps=OC_OCSClient::getApplications($categories); foreach($externalApps as $app){ // show only external apps that are not exist yet $local=false; foreach($apps as $a){ if($a['name']==$app['name']) $local=true; } if(!$local) { $apps[]=array( 'name'=>$app['name'], 'id'=>$app['id'], 'active'=>false, 'description'=>$app['description'], 'author'=>$app['personid'], 'license'=>$app['license'], ); } } } $tmpl = new OC_Template( "settings", "apps", "user" ); $tmpl->assign('apps',$apps); $tmpl->printPage(); ?>