aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Module/Affinity.php
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2019-02-14 09:56:53 +0100
committerMario <mario@mariovavti.com>2019-02-14 09:56:53 +0100
commitea541ca21b7983f7b8f17deb7452b1afed29547b (patch)
tree01cf308a30ffd43d0e60c2f9ddf884f9b30bd94c /Zotlabs/Module/Affinity.php
parent7b8eb84cb8bf46365390b192d00e21ae587f7295 (diff)
parentfc223f59242478ea4489dad299d9e66b6b53a23a (diff)
downloadvolse-hubzilla-ea541ca21b7983f7b8f17deb7452b1afed29547b.tar.gz
volse-hubzilla-ea541ca21b7983f7b8f17deb7452b1afed29547b.tar.bz2
volse-hubzilla-ea541ca21b7983f7b8f17deb7452b1afed29547b.zip
Merge branch 'aff2' into 'dev'
affinity slider as app See merge request hubzilla/core!1449
Diffstat (limited to 'Zotlabs/Module/Affinity.php')
-rw-r--r--Zotlabs/Module/Affinity.php69
1 files changed, 69 insertions, 0 deletions
diff --git a/Zotlabs/Module/Affinity.php b/Zotlabs/Module/Affinity.php
new file mode 100644
index 000000000..8c2ee7821
--- /dev/null
+++ b/Zotlabs/Module/Affinity.php
@@ -0,0 +1,69 @@
+<?php
+
+namespace Zotlabs\Module;
+
+use Zotlabs\Lib\Apps;
+use Zotlabs\Lib\Libsync;
+
+class Affinity extends \Zotlabs\Web\Controller {
+
+ function post() {
+
+ if(! ( local_channel() && Apps::system_app_installed(local_channel(),'Affinity Tool'))) {
+ return;
+ }
+
+ if($_POST['affinity-submit']) {
+ $cmax = intval($_POST['affinity_cmax']);
+ if($cmax < 0 || $cmax > 99)
+ $cmax = 99;
+ $cmin = intval($_POST['affinity_cmin']);
+ if($cmin < 0 || $cmin > 99)
+ $cmin = 0;
+ set_pconfig(local_channel(),'affinity','cmin',$cmin);
+ set_pconfig(local_channel(),'affinity','cmax',$cmax);
+
+ info( t('Affinity Tool settings updated.') . EOL);
+
+ }
+
+ Libsync::build_sync_packet();
+
+ }
+
+
+ function get() {
+
+ $desc = t('This app (when installed) presents a slider control in your connection editor and also on your network page. The slider represents your degree of friendship or <em>affinity</em> with each connection. It allows you to zoom in or out and display conversations from only your closest friends or everybody in your stream.');
+
+ $text = '<div class="section-content-info-wrapper">' . $desc . '</div>';
+
+ if(! ( local_channel() && Apps::system_app_installed(local_channel(),'Affinity Tool'))) {
+ return $text;
+ }
+
+ $text .= EOL . t('The numbers below represent the minimum and maximum slider default positions for your network/stream page as a percentage.') . EOL . EOL;
+
+ $setting_fields = $text;
+
+ $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, t('0-99 default 99'))
+ ));
+ $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, t('0-99 - default 0'))
+ ));
+
+ $s .= replace_macros(get_markup_template('generic_app_settings.tpl'), array(
+ '$addon' => array('affinity', '' . t('Affinity Tool Settings'), '', t('Submit')),
+ '$content' => $setting_fields
+ ));
+
+ return $s;
+ }
+
+
+}