diff options
Diffstat (limited to 'Zotlabs/Module/Affinity.php')
-rw-r--r-- | Zotlabs/Module/Affinity.php | 69 |
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; + } + + +} |