aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Module/Affinity.php
blob: 8c2ee78219cff529740d5d47df7531301e8e408d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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;
	}


}