2011-04-16 19:35:37 +04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ownCloud
|
|
|
|
*
|
|
|
|
* @author Frank Karlitschek
|
2012-05-26 21:14:24 +04:00
|
|
|
* @copyright 2012 Frank Karlitschek frank@owncloud.org
|
2011-04-16 19:35:37 +04:00
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 3 of the License, or any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Affero General Public
|
|
|
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2012-09-04 13:14:09 +04:00
|
|
|
require_once '../lib/base.php';
|
2011-09-18 23:31:56 +04:00
|
|
|
OC_Util::checkAdminUser();
|
2011-04-16 19:35:37 +04:00
|
|
|
|
|
|
|
// Load the files we need
|
2011-08-13 06:04:48 +04:00
|
|
|
OC_Util::addStyle( "settings", "settings" );
|
|
|
|
OC_Util::addScript( "settings", "apps" );
|
|
|
|
OC_App::setActiveNavigationEntry( "core_apps" );
|
2011-04-16 19:35:37 +04:00
|
|
|
|
2011-08-10 14:20:43 +04:00
|
|
|
$registeredApps=OC_App::getAllApps();
|
|
|
|
$apps=array();
|
2011-08-10 22:51:35 +04:00
|
|
|
|
2012-08-27 22:35:05 +04:00
|
|
|
//TODO which apps do we want to blacklist and how do we integrate blacklisting with the multi apps folder feature
|
|
|
|
$blacklist=array('files');//we dont want to show configuration for these
|
2011-08-10 22:51:35 +04:00
|
|
|
|
2012-09-04 13:14:09 +04:00
|
|
|
foreach($registeredApps as $app) {
|
|
|
|
if(array_search($app, $blacklist)===false) {
|
2011-08-10 22:51:35 +04:00
|
|
|
$info=OC_App::getAppInfo($app);
|
2012-09-01 03:14:12 +04:00
|
|
|
if (!isset($info['name'])) {
|
2012-09-04 13:14:09 +04:00
|
|
|
OC_Log::write('core', 'App id "'.$app.'" has no name in appinfo', OC_Log::ERROR);
|
2012-09-01 03:14:12 +04:00
|
|
|
continue;
|
|
|
|
}
|
2012-09-04 13:28:49 +04:00
|
|
|
$active=(OC_Appconfig::getValue($app, 'enabled', 'no')=='yes')?true:false;
|
2011-08-10 22:51:35 +04:00
|
|
|
$info['active']=$active;
|
2012-05-18 23:14:07 +04:00
|
|
|
if(isset($info['shipped']) and ($info['shipped']=='true')) {
|
|
|
|
$info['internal']=true;
|
|
|
|
$info['internallabel']='Internal App';
|
|
|
|
}else{
|
|
|
|
$info['internal']=false;
|
|
|
|
$info['internallabel']='3rd Party App';
|
|
|
|
}
|
2012-04-21 17:30:58 +04:00
|
|
|
$info['preview']='trans.png';
|
2012-08-04 20:39:23 +04:00
|
|
|
$info['version']=OC_App::getAppVersion($app);
|
2011-08-10 22:51:35 +04:00
|
|
|
$apps[]=$info;
|
|
|
|
}
|
2011-08-10 14:20:43 +04:00
|
|
|
}
|
2011-04-16 19:35:37 +04:00
|
|
|
|
2012-09-07 17:22:01 +04:00
|
|
|
function app_sort($a, $b) {
|
2012-09-04 13:14:09 +04:00
|
|
|
if ($a['active'] != $b['active']) {
|
2011-12-07 23:38:58 +04:00
|
|
|
return $b['active'] - $a['active'];
|
|
|
|
}
|
|
|
|
return strcmp($a['name'], $b['name']);
|
|
|
|
}
|
|
|
|
usort($apps, 'app_sort');
|
|
|
|
|
2011-08-13 06:04:48 +04:00
|
|
|
$tmpl = new OC_Template( "settings", "apps", "user" );
|
2012-09-04 13:14:09 +04:00
|
|
|
$tmpl->assign('apps', $apps, false);
|
2012-06-25 07:02:01 +04:00
|
|
|
$appid = (isset($_GET['appid'])?strip_tags($_GET['appid']):'');
|
2012-09-04 13:14:09 +04:00
|
|
|
$tmpl->assign('appid', $appid);
|
2011-04-16 22:34:18 +04:00
|
|
|
|
2011-08-10 14:20:43 +04:00
|
|
|
$tmpl->printPage();
|