streams/Zotlabs/Module/Apps.php

60 lines
1.5 KiB
PHP
Raw Normal View History

2016-04-19 03:38:38 +00:00
<?php
namespace Zotlabs\Module;
2016-05-23 02:25:27 +00:00
use \Zotlabs\Lib as Zlib;
2016-04-19 03:38:38 +00:00
class Apps extends \Zotlabs\Web\Controller {
function get() {
nav_set_selected('Apps');
2016-04-19 03:38:38 +00:00
if(argc() == 2 && argv(1) == 'edit')
$mode = 'edit';
else
$mode = 'list';
2017-01-13 21:22:36 +00:00
2018-07-05 05:56:43 +00:00
$available = ((argc() == 2 && argv(1) === 'available') ? true : false);
2017-01-13 21:22:36 +00:00
$_SESSION['return_url'] = \App::$query_string;
2016-04-19 03:38:38 +00:00
$apps = [];
2016-04-19 03:38:38 +00:00
if(local_channel()) {
2016-05-23 02:25:27 +00:00
Zlib\Apps::import_system_apps();
$syslist = [];
2018-01-08 10:11:17 +00:00
$cat = ((array_key_exists('cat',$_GET) && $_GET['cat']) ? [ escape_tags($_GET['cat']) ] : '');
2018-07-05 05:56:43 +00:00
$list = Zlib\Apps::app_list((($available) ? 0 : local_channel()), (($mode == 'edit') ? true : false), $cat);
2016-04-19 03:38:38 +00:00
if($list) {
foreach($list as $x) {
2016-05-23 02:25:27 +00:00
$syslist[] = Zlib\Apps::app_encode($x);
2016-04-19 03:38:38 +00:00
}
}
2016-05-23 02:25:27 +00:00
Zlib\Apps::translate_system_apps($syslist);
2016-04-19 03:38:38 +00:00
}
else
2016-05-23 02:25:27 +00:00
$syslist = Zlib\Apps::get_system_apps(true);
usort($syslist,'Zotlabs\\Lib\\Apps::app_name_compare');
2016-04-19 03:38:38 +00:00
// logger('apps: ' . print_r($syslist,true));
foreach($syslist as $app) {
2018-07-05 05:56:43 +00:00
$apps[] = Zlib\Apps::app_render($app,(($available) ? 'install' : $mode));
2016-04-19 03:38:38 +00:00
}
2016-04-19 03:38:38 +00:00
return replace_macros(get_markup_template('myapps.tpl'), array(
'$sitename' => get_config('system','sitename'),
2018-01-08 10:11:17 +00:00
'$cat' => $cat,
'$title' => (($available) ? t('Available Apps') : t('Installed Apps')),
2016-04-19 03:38:38 +00:00
'$apps' => $apps,
2017-02-22 10:22:43 +00:00
'$authed' => ((local_channel()) ? true : false),
2018-07-06 00:52:32 +00:00
'$manage' => (($available) ? EMPTY_STR : t('Manage apps')),
2018-09-13 09:32:43 +00:00
'$create' => (($mode == 'edit') ? t('Create Custom App') : '')
2016-04-19 03:38:38 +00:00
));
}
}