In the acl there is now a separation between groups, forums and contacts
This commit is contained in:
		
					parent
					
						
							
								dd0a1cf586
							
						
					
				
			
			
				commit
				
					
						2e704d79eb
					
				
			
		
					 2 changed files with 32 additions and 12 deletions
				
			
		| 
						 | 
				
			
			@ -473,6 +473,7 @@ function acl_lookup(App $a, $out_type = 'json') {
 | 
			
		|||
		$r = q("SELECT COUNT(*) AS c FROM `contact`
 | 
			
		||||
				WHERE `uid` = %d AND NOT `self`
 | 
			
		||||
				AND NOT `blocked` AND NOT `pending` AND NOT `archive`
 | 
			
		||||
				AND `success_update` >= `failure_update`
 | 
			
		||||
				AND `notify` != '' $sql_extra2" ,
 | 
			
		||||
			intval(local_user())
 | 
			
		||||
		);
 | 
			
		||||
| 
						 | 
				
			
			@ -485,6 +486,7 @@ function acl_lookup(App $a, $out_type = 'json') {
 | 
			
		|||
		$r = q("SELECT COUNT(*) AS c FROM `contact`
 | 
			
		||||
				WHERE `uid` = %d AND NOT `self`
 | 
			
		||||
				AND NOT `blocked` AND NOT `pending` AND NOT `archive`
 | 
			
		||||
				AND `success_update` >= `failure_update`
 | 
			
		||||
				AND `network` IN ('%s','%s','%s') $sql_extra2" ,
 | 
			
		||||
			intval(local_user()),
 | 
			
		||||
			dbesc(NETWORK_DFRN),
 | 
			
		||||
| 
						 | 
				
			
			@ -544,22 +546,25 @@ function acl_lookup(App $a, $out_type = 'json') {
 | 
			
		|||
				"forum" => '0'
 | 
			
		||||
			);
 | 
			
		||||
		}
 | 
			
		||||
		if (count($groups) > 0) {
 | 
			
		||||
			$groups[] = array("separator" => true);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if ($type == '') {
 | 
			
		||||
 | 
			
		||||
		$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, `addr`, `forum`, `prv` FROM `contact`
 | 
			
		||||
		$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, `addr`, `forum`, `prv`, (`prv` OR `forum`) AS `frm` FROM `contact`
 | 
			
		||||
			WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `pending` AND NOT `archive` AND `notify` != ''
 | 
			
		||||
			AND NOT (`network` IN ('%s', '%s'))
 | 
			
		||||
			AND `success_update` >= `failure_update` AND NOT (`network` IN ('%s', '%s'))
 | 
			
		||||
			$sql_extra2
 | 
			
		||||
			ORDER BY `name` ASC ",
 | 
			
		||||
			ORDER BY `frm` DESC, `name` ASC ",
 | 
			
		||||
			intval(local_user()),
 | 
			
		||||
			dbesc(NETWORK_OSTATUS), dbesc(NETWORK_STATUSNET)
 | 
			
		||||
		);
 | 
			
		||||
	} elseif ($type == 'c') {
 | 
			
		||||
		$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, `addr`, `forum`, `prv` FROM `contact`
 | 
			
		||||
			WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `pending` AND NOT `archive` AND `notify` != ''
 | 
			
		||||
			AND NOT (`network` IN ('%s'))
 | 
			
		||||
			AND `success_update` >= `failure_update` AND NOT (`network` IN ('%s'))
 | 
			
		||||
			$sql_extra2
 | 
			
		||||
			ORDER BY `name` ASC ",
 | 
			
		||||
			intval(local_user()),
 | 
			
		||||
| 
						 | 
				
			
			@ -569,7 +574,7 @@ function acl_lookup(App $a, $out_type = 'json') {
 | 
			
		|||
	elseif ($type == 'm') {
 | 
			
		||||
		$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, `addr` FROM `contact`
 | 
			
		||||
			WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `pending` AND NOT `archive`
 | 
			
		||||
			AND `network` IN ('%s','%s','%s')
 | 
			
		||||
			AND `success_update` >= `failure_update` AND `network` IN ('%s','%s','%s')
 | 
			
		||||
			$sql_extra2
 | 
			
		||||
			ORDER BY `name` ASC ",
 | 
			
		||||
			intval(local_user()),
 | 
			
		||||
| 
						 | 
				
			
			@ -579,7 +584,7 @@ function acl_lookup(App $a, $out_type = 'json') {
 | 
			
		|||
		);
 | 
			
		||||
	} elseif ($type == 'a') {
 | 
			
		||||
		$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, `addr`, `forum`, `prv` FROM `contact`
 | 
			
		||||
			WHERE `uid` = %d AND `pending` = 0
 | 
			
		||||
			WHERE `uid` = %d AND `pending` = 0 AND `success_update` >= `failure_update`
 | 
			
		||||
			$sql_extra2
 | 
			
		||||
			ORDER BY `name` ASC ",
 | 
			
		||||
			intval(local_user())
 | 
			
		||||
| 
						 | 
				
			
			@ -613,8 +618,9 @@ function acl_lookup(App $a, $out_type = 'json') {
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
	if (dbm::is_result($r)) {
 | 
			
		||||
		$forums = array();
 | 
			
		||||
		foreach ($r as $g) {
 | 
			
		||||
			$contacts[] = array(
 | 
			
		||||
			$entry = array(
 | 
			
		||||
				'type'    => 'c',
 | 
			
		||||
				'photo'   => proxy_url($g['micro'], false, PROXY_SIZE_MICRO),
 | 
			
		||||
				'name'    => htmlentities($g['name']),
 | 
			
		||||
| 
						 | 
				
			
			@ -625,6 +631,15 @@ function acl_lookup(App $a, $out_type = 'json') {
 | 
			
		|||
				'addr'    => htmlentities(($g['addr']) ? $g['addr'] : $g['url']),
 | 
			
		||||
				'forum'   => ((x($g, 'forum') || x($g, 'prv')) ? 1 : 0),
 | 
			
		||||
			);
 | 
			
		||||
			if ($entry['forum']) {
 | 
			
		||||
				$forums[] = $entry;
 | 
			
		||||
			} else {
 | 
			
		||||
				$contacts[] = $entry;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if (count($forums) > 0) {
 | 
			
		||||
			$forums[] = array("separator" => true);
 | 
			
		||||
			$contacts = array_merge($forums, $contacts);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										15
									
								
								js/acl.js
									
										
									
									
									
								
							
							
						
						
									
										15
									
								
								js/acl.js
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -286,11 +286,16 @@ ACL.prototype.populate = function(data){
 | 
			
		|||
	var height = Math.ceil(data.tot / this.nw) * 42;
 | 
			
		||||
	this.list_content.height(height);
 | 
			
		||||
	this.data = {};
 | 
			
		||||
	$(data.items).each(function(index, item){
 | 
			
		||||
		html = "<div class='acl-list-item {4} {5} type{2}' title='{6}' id='{2}{3}'>"+this.item_tpl+"</div>";
 | 
			
		||||
		html = html.format(item.photo, item.name, item.type, item.id, (item.forum=='1'?'forum':''), item.network, item.link);
 | 
			
		||||
		if (item.uids!=undefined) this.group_uids[item.id] = item.uids;
 | 
			
		||||
 | 
			
		||||
	$(data.items).each(function(index, item) {
 | 
			
		||||
		if (item.separator != undefined) {
 | 
			
		||||
			html = "<hr class='clear'>";
 | 
			
		||||
		} else {
 | 
			
		||||
			html = "<div class='acl-list-item {4} {5} type{2}' title='{6}' id='{2}{3}'>"+this.item_tpl+"</div>";
 | 
			
		||||
			html = html.format(item.photo, item.name, item.type, item.id, (item.forum=='1'?'forum':''), item.network, item.link);
 | 
			
		||||
			if (item.uids != undefined) {
 | 
			
		||||
				this.group_uids[item.id] = item.uids;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		this.list_content.append(html);
 | 
			
		||||
		this.data[item.id] = item;
 | 
			
		||||
	}.bind(this));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue