some backend stuff for apps

This commit is contained in:
friendica 2014-05-15 16:43:42 -07:00
parent 8b233723c5
commit e68bb132a7
4 changed files with 78 additions and 10 deletions

53
include/apps.php Normal file
View File

@ -0,0 +1,53 @@
<?php /** @file */
/**
* apps
*
*/
require_once('include/plugin.php');
function get_system_apps() {
$ret = array();
$files = glob('app/*.apd');
if($files) {
foreach($files as $f) {
$x = parse_app_description($f);
if($x) {
$ret[] = $x;
}
}
}
$files = glob('addon/*/*.apd');
if($files) {
foreach($files as $f) {
$n = basename($f,'.apd');
if(plugin_is_installed($n)) {
$x = parse_app_description($f);
if($x) {
$ret[] = $x;
}
}
}
}
return $ret;
}
function parse_app_description($f) {
$ret = array();
$lines = @file($f);
if($lines) {
foreach($lines as $x) {
if(preg_match('/^([a-zA-Z].*?):(.*?)$/ism',$x,$matches)) {
$ret[$matches[1]] = trim($matches[2]);
}
}
}
return $ret;
}

View File

@ -94,6 +94,17 @@ function load_plugin($plugin) {
}
function plugin_is_installed($name) {
$r = q("select name from addon where name = '%s' and installed = 1 limit 1",
dbesc($name)
);
if($r)
return true;
return false;
}
// reload all updated plugins
function reload_plugins() {

View File

@ -1,17 +1,21 @@
<?php
require_once('include/apps.php');
function apps_content(&$a) {
$apps = $a->get_apps();
if(count($apps) == 0)
notice( t('No installed applications.') . EOL);
$tpl = get_markup_template("apps.tpl");
return replace_macros($tpl, array(
'$title' => t('Applications'),
'$apps' => $apps,
));
$apps = get_system_apps();
$o .= print_r($apps,true);
return $o;
// $tpl = get_markup_template("apps.tpl");
// return replace_macros($tpl, array(
// '$title' => t('Applications'),
// '$apps' => $apps,
// ));
}

View File

@ -1 +1 @@
2014-05-14.675
2014-05-15.676