aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs
diff options
context:
space:
mode:
Diffstat (limited to 'Zotlabs')
-rw-r--r--Zotlabs/Lib/Apps.php23
-rw-r--r--Zotlabs/Module/Appman.php4
-rw-r--r--Zotlabs/Module/Settings/Featured.php29
3 files changed, 54 insertions, 2 deletions
diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php
index 2480dde1f..64ac16e5b 100644
--- a/Zotlabs/Lib/Apps.php
+++ b/Zotlabs/Lib/Apps.php
@@ -349,7 +349,8 @@ class Apps {
'$edit' => ((local_channel() && $installed && $mode == 'edit') ? t('Edit') : ''),
'$delete' => ((local_channel() && $installed && $mode == 'edit') ? t('Delete') : ''),
'$undelete' => ((local_channel() && $installed && $mode == 'edit') ? t('Undelete') : ''),
- '$deleted' => $papp['deleted']
+ '$deleted' => $papp['deleted'],
+ '$featured' => ((strpos($papp['categories'], 'featured') === false) ? false : true)
));
}
@@ -421,7 +422,6 @@ class Apps {
}
}
-
static public function app_undestroy($uid,$app) {
// undelete a system app
@@ -443,8 +443,27 @@ class Apps {
}
}
+ static public function app_feature($uid,$app) {
+ $r = q("select id from app where app_id = '%s' and app_channel = %d limit 1",
+ dbesc($app['guid']),
+ intval($uid)
+ );
+ $x = q("select * from term where otype = %d and oid = %d limit 1",
+ intval(TERM_OBJ_APP),
+ intval($r[0]['id'])
+ );
+ if($x) {
+ q("delete from term where otype = %d and oid = %d",
+ intval(TERM_OBJ_APP),
+ intval($x[0]['oid'])
+ );
+ }
+ else {
+ store_item_tag($uid,$r[0]['id'],TERM_OBJ_APP,TERM_CATEGORY,'featured',escape_tags(z_root() . '/apps/?f=&cat=featured'));
+ }
+ }
static public function app_installed($uid,$app) {
diff --git a/Zotlabs/Module/Appman.php b/Zotlabs/Module/Appman.php
index a7631758b..270301d34 100644
--- a/Zotlabs/Module/Appman.php
+++ b/Zotlabs/Module/Appman.php
@@ -62,6 +62,10 @@ class Appman extends \Zotlabs\Web\Controller {
return;
}
+ if($_POST['feature']) {
+ Zlib\Apps::app_feature(local_channel(),$papp);
+ }
+
if($_SESSION['return_url'])
goaway(z_root() . '/' . $_SESSION['return_url']);
diff --git a/Zotlabs/Module/Settings/Featured.php b/Zotlabs/Module/Settings/Featured.php
index eec5f6c02..4885abd1d 100644
--- a/Zotlabs/Module/Settings/Featured.php
+++ b/Zotlabs/Module/Settings/Featured.php
@@ -10,6 +10,16 @@ class Featured {
call_hooks('feature_settings_post', $_POST);
+ if(intval($_POST['affinity_cmax'])) {
+ set_pconfig(local_channel(),'affinity','cmax',intval($_POST['affinity_cmax']));
+ }
+ if(intval($_POST['affinity_cmin'])) {
+ set_pconfig(local_channel(),'affinity','cmin',intval($_POST['affinity_cmin']));
+ }
+ if(intval($_POST['affinity_cmax']) || intval($_POST['affinity_cmin'])) {
+ info( t('Affinity Slider settings updated.') . EOL);
+ }
+
build_sync_packet();
return;
}
@@ -23,6 +33,25 @@ class Featured {
if(! $r)
$settings_addons = t('No feature settings configured');
+ if(feature_enabled(local_channel(),'affinity')) {
+
+ $cmax = intval(get_pconfig(local_channel(),'affinity','cmax'));
+ $cmax = (($cmax) ? $cmax : 99);
+ $setting_fields .= replace_macros(get_markup_template('field_input.tpl'), array(
+ '$field' => array('affinity_cmax', t('Default maximum affinity level'), $cmax, '')
+ ));
+ $cmin = intval(get_pconfig(local_channel(),'affinity','cmin'));
+ $cmin = (($cmin) ? $cmin : 0);
+ $setting_fields .= replace_macros(get_markup_template('field_input.tpl'), array(
+ '$field' => array('affinity_cmin', t('Default minimum affinity level'), $cmin, '')
+ ));
+
+ $settings_addons .= replace_macros(get_markup_template('generic_addon_settings.tpl'), array(
+ '$addon' => array('affinity_slider', '' . t('Affinity Slider Settings'), '', t('Submit')),
+ '$content' => $setting_fields
+ ));
+ }
+
call_hooks('feature_settings', $settings_addons);
$tpl = get_markup_template("settings_addons.tpl");