aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Lib/Apps.php23
-rw-r--r--Zotlabs/Module/Appman.php4
-rw-r--r--Zotlabs/Module/Settings/Featured.php29
-rw-r--r--include/widgets.php13
-rw-r--r--view/tpl/app.tpl7
-rwxr-xr-xview/tpl/nav.tpl5
6 files changed, 73 insertions, 8 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");
diff --git a/include/widgets.php b/include/widgets.php
index 98ea4e6a1..27eae7d6f 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -521,9 +521,16 @@ function widget_affinity($arr) {
if(! local_channel())
return '';
-
- $cmin = ((x($_REQUEST,'cmin')) ? intval($_REQUEST['cmin']) : 0);
- $cmax = ((x($_REQUEST,'cmax')) ? intval($_REQUEST['cmax']) : 99);
+
+ // Get default cmin value from pconfig, but allow GET parameter to override
+ $cmin = intval(get_pconfig(local_channel(),'affinity','cmin'));
+ $cmin = (($cmin) ? $cmin : 0);
+ $cmin = ((x($_REQUEST,'cmin')) ? intval($_REQUEST['cmin']) : $cmin);
+
+ // Get default cmax value from pconfig, but allow GET parameter to override
+ $cmax = intval(get_pconfig(local_channel(),'affinity','cmax'));
+ $cmax = (($cmax) ? $cmax : 99);
+ $cmax = ((x($_REQUEST,'cmax')) ? intval($_REQUEST['cmax']) : $cmax);
if(feature_enabled(local_channel(),'affinity')) {
diff --git a/view/tpl/app.tpl b/view/tpl/app.tpl
index def98e869..434653e1e 100644
--- a/view/tpl/app.tpl
+++ b/view/tpl/app.tpl
@@ -14,9 +14,10 @@
<div class="app-tools">
<form action="{{$hosturl}}appman" method="post">
<input type="hidden" name="papp" value="{{$app.papp}}" />
- {{if $install}}<button type="submit" name="install" value="{{$install}}" class="btn btn-default" title="{{$install}}" ><i class="fa fa-arrow-circle-o-down" ></i></button>{{/if}}
- {{if $edit}}<input type="hidden" name="appid" value="{{$app.guid}}" /><button type="submit" name="edit" value="{{$edit}}" class="btn btn-default" title="{{$edit}}" ><i class="fa fa-pencil" ></i></button>{{/if}}
- {{if $delete}}<button type="submit" name="delete" value="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" class="btn btn-default" title="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" ><i class="fa fa-trash-o drop-icons"></i></button>{{/if}}
+ {{if $install}}<button type="submit" name="install" value="{{$install}}" class="btn btn-default btn-xs" title="{{$install}}" ><i class="fa fa-arrow-circle-o-down" ></i></button>{{/if}}
+ {{if $edit}}<input type="hidden" name="appid" value="{{$app.guid}}" /><button type="submit" name="edit" value="{{$edit}}" class="btn btn-default btn-xs" title="{{$edit}}" ><i class="fa fa-pencil" ></i></button>{{/if}}
+ {{if $delete}}<button type="submit" name="delete" value="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" class="btn btn-default btn-xs" title="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" ><i class="fa fa-trash-o drop-icons"></i></button>{{/if}}
+ <button type="submit" name="feature" value="feature" class="btn btn-default btn-xs" ><i class="fa fa-star"{{if $featured}} style="color: gold"{{/if}}></i></button>
</form>
</div>
{{/if}}
diff --git a/view/tpl/nav.tpl b/view/tpl/nav.tpl
index 16cd9deca..86f9d5cf9 100755
--- a/view/tpl/nav.tpl
+++ b/view/tpl/nav.tpl
@@ -215,6 +215,11 @@
{{/if}}
{{if $navapps}}
+ {{if $nav.help.6}}
+ <li class="{{$sel.help}} hidden-xs">
+ <a class="{{$nav.help.2}}" target="hubzilla-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" id="{{$nav.help.4}}" onclick="contextualHelp(); return false;"><i class="fa fa-question-circle"></i></a>
+ </li>
+ {{/if}}
<li class="dropdown-toggle" data-toggle="dropdown">
<a href="#"><i class="fa fa-bars"></i></a>
</li>