pull in the new object router and a few selected samples for the new controller layout
This commit is contained in:
		
							
								
								
									
										1782
									
								
								Zotlabs/Module/Admin.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1782
									
								
								Zotlabs/Module/Admin.php
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										121
									
								
								Zotlabs/Module/Lockview.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								Zotlabs/Module/Lockview.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,121 @@ | ||||
| <?php | ||||
| namespace Zotlabs\Module; | ||||
|  | ||||
|  | ||||
|  | ||||
| class Lockview extends \Zotlabs\Web\Controller { | ||||
|  | ||||
| 	function get() { | ||||
| 	   | ||||
| 		$type = ((argc() > 1) ? argv(1) : 0); | ||||
| 		if (is_numeric($type)) { | ||||
| 			$item_id = intval($type); | ||||
| 			$type='item'; | ||||
| 		} else { | ||||
| 			$item_id = ((argc() > 2) ? intval(argv(2)) : 0); | ||||
| 		} | ||||
| 	   | ||||
| 		if(! $item_id) | ||||
| 			killme(); | ||||
| 	 | ||||
| 		if (!in_array($type, array('item','photo','event', 'menu_item', 'chatroom'))) | ||||
| 			killme(); | ||||
| 	 | ||||
| 		//we have different naming in in menu_item table and chatroom table | ||||
| 		switch($type) { | ||||
| 			case 'menu_item': | ||||
| 				$id = 'mitem_id'; | ||||
| 				break; | ||||
| 			case 'chatroom': | ||||
| 				$id = 'cr_id'; | ||||
| 				break; | ||||
| 			default: | ||||
| 				$id = 'id'; | ||||
| 				break; | ||||
| 		} | ||||
| 	 | ||||
| 		$r = q("SELECT * FROM %s WHERE $id = %d LIMIT 1", | ||||
| 			dbesc($type), | ||||
| 			intval($item_id) | ||||
| 		); | ||||
| 	 | ||||
| 		if(! $r) | ||||
| 			killme(); | ||||
| 	 | ||||
| 		$item = $r[0]; | ||||
| 	 | ||||
| 		//we have different naming in in menu_item table and chatroom table | ||||
| 		switch($type) { | ||||
| 			case 'menu_item': | ||||
| 				$uid = $item['mitem_channel_id']; | ||||
| 				break; | ||||
| 			case 'chatroom': | ||||
| 				$uid = $item['cr_uid']; | ||||
| 				break; | ||||
| 			default: | ||||
| 				$uid = $item['uid']; | ||||
| 				break; | ||||
| 		} | ||||
| 	 | ||||
| 		if($uid != local_channel()) { | ||||
| 			echo '<li>' . t('Remote privacy information not available.') . '</li>'; | ||||
| 			killme(); | ||||
| 		} | ||||
| 	 | ||||
| 		if(($item['item_private'] == 1) && (! strlen($item['allow_cid'])) && (! strlen($item['allow_gid']))  | ||||
| 			&& (! strlen($item['deny_cid'])) && (! strlen($item['deny_gid']))) { | ||||
| 	 | ||||
| 			// if the post is private, but public_policy is blank ("visible to the internet"), and there aren't any | ||||
| 			// specific recipients, we're the recipient of a post with "bcc" or targeted recipients; so we'll just show it | ||||
| 			// as unknown specific recipients. The sender will have the visibility list and will fall through to the | ||||
| 			// next section. | ||||
| 	  | ||||
| 			echo '<li>' . translate_scope((! $item['public_policy']) ? 'specific' : $item['public_policy']) . '</li>'; | ||||
| 			killme(); | ||||
| 		} | ||||
| 	 | ||||
| 		$allowed_users = expand_acl($item['allow_cid']); | ||||
| 		$allowed_groups = expand_acl($item['allow_gid']); | ||||
| 		$deny_users = expand_acl($item['deny_cid']); | ||||
| 		$deny_groups = expand_acl($item['deny_gid']); | ||||
| 	 | ||||
| 		$o = '<li>' . t('Visible to:') . '</li>'; | ||||
| 		$l = array(); | ||||
| 	 | ||||
| 		stringify_array_elms($allowed_groups,true); | ||||
| 		stringify_array_elms($allowed_users,true); | ||||
| 		stringify_array_elms($deny_groups,true); | ||||
| 		stringify_array_elms($deny_users,true); | ||||
| 	 | ||||
| 		if(count($allowed_groups)) { | ||||
| 			$r = q("SELECT name FROM `groups` WHERE hash IN ( " . implode(', ', $allowed_groups) . " )"); | ||||
| 			if($r) | ||||
| 				foreach($r as $rr)  | ||||
| 					$l[] = '<li><b>' . $rr['name'] . '</b></li>'; | ||||
| 		} | ||||
| 		if(count($allowed_users)) { | ||||
| 			$r = q("SELECT xchan_name FROM xchan WHERE xchan_hash IN ( " . implode(', ',$allowed_users) . " )"); | ||||
| 			if($r) | ||||
| 				foreach($r as $rr)  | ||||
| 					$l[] = '<li>' . $rr['xchan_name'] . '</li>'; | ||||
| 		} | ||||
| 		if(count($deny_groups)) { | ||||
| 			$r = q("SELECT name FROM `groups` WHERE hash IN ( " . implode(', ', $deny_groups) . " )"); | ||||
| 			if($r) | ||||
| 				foreach($r as $rr)  | ||||
| 					$l[] = '<li><b><strike>' . $rr['name'] . '</strike></b></li>'; | ||||
| 		} | ||||
| 		if(count($deny_users)) { | ||||
| 			$r = q("SELECT xchan_name FROM xchan WHERE xchan_hash IN ( " . implode(', ', $deny_users) . " )"); | ||||
| 			if($r) | ||||
| 				foreach($r as $rr)  | ||||
| 					$l[] = '<li><strike>' . $rr['xchan_name'] . '</strike></li>'; | ||||
| 		} | ||||
| 	 | ||||
| 		echo $o . implode($l); | ||||
| 		killme(); | ||||
| 	 | ||||
| 	 | ||||
| 	} | ||||
| 	 | ||||
| } | ||||
| @@ -14,14 +14,23 @@ class Router { | ||||
| 		 * | ||||
| 		 * We have already parsed the server path into App::$argc and App::$argv | ||||
| 		 * | ||||
| 		 * App::$argv[0] is our module name. We will load the file mod/{App::$argv[0]}.php | ||||
| 		 * App::$argv[0] is our module name. Let's call it 'foo'. We will load the | ||||
| 		 * Zotlabs/Module/Foo.php (object) or file mod/foo.php (procedural) | ||||
| 		 * and use it for handling our URL request. | ||||
| 		 * The module file contains a few functions that we call in various circumstances | ||||
| 		 * and in the following order: | ||||
| 		 * | ||||
| 		 * "module"_init | ||||
| 		 * "module"_post (only called if there are $_POST variables) | ||||
| 		 * "module"_content - the string return of this function contains our page body | ||||
| 		 * Object: | ||||
| 		 *    class Foo extends Zotlabs\Web\Controller { | ||||
| 		 *        function init() { init function } | ||||
| 		 *        function post() { post function } | ||||
| 		 *        function get()  { nomral page function } | ||||
| 		 *    } | ||||
| 		 * | ||||
| 		 * Procedual interface: | ||||
| 		 *        foo_init() | ||||
| 		 *        foo_post() (only called if there are $_POST variables) | ||||
| 		 *        foo_content() - the string return of this function contains our page body | ||||
| 		 * | ||||
| 		 * Modules which emit other serialisations besides HTML (XML,JSON, etc.) should do | ||||
| 		 * so within the module init and/or post functions and then invoke killme() to terminate | ||||
| @@ -160,7 +169,7 @@ class Router { | ||||
| 			} | ||||
|  | ||||
| 			/** | ||||
| 			 * Do all theme initialiasion here before calling any additional module functions. | ||||
| 			 * Do all theme initialisation here before calling any additional module functions. | ||||
| 			 * The module_init function may have changed the theme. | ||||
| 			 * Additionally any page with a Comanche template may alter the theme. | ||||
| 			 * So we'll check for those now. | ||||
|   | ||||
							
								
								
									
										1776
									
								
								mod/admin.php
									
									
									
									
									
								
							
							
						
						
									
										1776
									
								
								mod/admin.php
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										115
									
								
								mod/lockview.php
									
									
									
									
									
								
							
							
						
						
									
										115
									
								
								mod/lockview.php
									
									
									
									
									
								
							| @@ -1,115 +0,0 @@ | ||||
| <?php | ||||
|  | ||||
|  | ||||
| function lockview_content(&$a) { | ||||
|    | ||||
| 	$type = ((argc() > 1) ? argv(1) : 0); | ||||
| 	if (is_numeric($type)) { | ||||
| 		$item_id = intval($type); | ||||
| 		$type='item'; | ||||
| 	} else { | ||||
| 		$item_id = ((argc() > 2) ? intval(argv(2)) : 0); | ||||
| 	} | ||||
|    | ||||
| 	if(! $item_id) | ||||
| 		killme(); | ||||
|  | ||||
| 	if (!in_array($type, array('item','photo','event', 'menu_item', 'chatroom'))) | ||||
| 		killme(); | ||||
|  | ||||
| 	//we have different naming in in menu_item table and chatroom table | ||||
| 	switch($type) { | ||||
| 		case 'menu_item': | ||||
| 			$id = 'mitem_id'; | ||||
| 			break; | ||||
| 		case 'chatroom': | ||||
| 			$id = 'cr_id'; | ||||
| 			break; | ||||
| 		default: | ||||
| 			$id = 'id'; | ||||
| 			break; | ||||
| 	} | ||||
|  | ||||
| 	$r = q("SELECT * FROM %s WHERE $id = %d LIMIT 1", | ||||
| 		dbesc($type), | ||||
| 		intval($item_id) | ||||
| 	); | ||||
|  | ||||
| 	if(! $r) | ||||
| 		killme(); | ||||
|  | ||||
| 	$item = $r[0]; | ||||
|  | ||||
| 	//we have different naming in in menu_item table and chatroom table | ||||
| 	switch($type) { | ||||
| 		case 'menu_item': | ||||
| 			$uid = $item['mitem_channel_id']; | ||||
| 			break; | ||||
| 		case 'chatroom': | ||||
| 			$uid = $item['cr_uid']; | ||||
| 			break; | ||||
| 		default: | ||||
| 			$uid = $item['uid']; | ||||
| 			break; | ||||
| 	} | ||||
|  | ||||
| 	if($uid != local_channel()) { | ||||
| 		echo '<li>' . t('Remote privacy information not available.') . '</li>'; | ||||
| 		killme(); | ||||
| 	} | ||||
|  | ||||
| 	if(($item['item_private'] == 1) && (! strlen($item['allow_cid'])) && (! strlen($item['allow_gid']))  | ||||
| 		&& (! strlen($item['deny_cid'])) && (! strlen($item['deny_gid']))) { | ||||
|  | ||||
| 		// if the post is private, but public_policy is blank ("visible to the internet"), and there aren't any | ||||
| 		// specific recipients, we're the recipient of a post with "bcc" or targeted recipients; so we'll just show it | ||||
| 		// as unknown specific recipients. The sender will have the visibility list and will fall through to the | ||||
| 		// next section. | ||||
|   | ||||
| 		echo '<li>' . translate_scope((! $item['public_policy']) ? 'specific' : $item['public_policy']) . '</li>'; | ||||
| 		killme(); | ||||
| 	} | ||||
|  | ||||
| 	$allowed_users = expand_acl($item['allow_cid']); | ||||
| 	$allowed_groups = expand_acl($item['allow_gid']); | ||||
| 	$deny_users = expand_acl($item['deny_cid']); | ||||
| 	$deny_groups = expand_acl($item['deny_gid']); | ||||
|  | ||||
| 	$o = '<li>' . t('Visible to:') . '</li>'; | ||||
| 	$l = array(); | ||||
|  | ||||
| 	stringify_array_elms($allowed_groups,true); | ||||
| 	stringify_array_elms($allowed_users,true); | ||||
| 	stringify_array_elms($deny_groups,true); | ||||
| 	stringify_array_elms($deny_users,true); | ||||
|  | ||||
| 	if(count($allowed_groups)) { | ||||
| 		$r = q("SELECT name FROM `groups` WHERE hash IN ( " . implode(', ', $allowed_groups) . " )"); | ||||
| 		if($r) | ||||
| 			foreach($r as $rr)  | ||||
| 				$l[] = '<li><b>' . $rr['name'] . '</b></li>'; | ||||
| 	} | ||||
| 	if(count($allowed_users)) { | ||||
| 		$r = q("SELECT xchan_name FROM xchan WHERE xchan_hash IN ( " . implode(', ',$allowed_users) . " )"); | ||||
| 		if($r) | ||||
| 			foreach($r as $rr)  | ||||
| 				$l[] = '<li>' . $rr['xchan_name'] . '</li>'; | ||||
| 	} | ||||
| 	if(count($deny_groups)) { | ||||
| 		$r = q("SELECT name FROM `groups` WHERE hash IN ( " . implode(', ', $deny_groups) . " )"); | ||||
| 		if($r) | ||||
| 			foreach($r as $rr)  | ||||
| 				$l[] = '<li><b><strike>' . $rr['name'] . '</strike></b></li>'; | ||||
| 	} | ||||
| 	if(count($deny_users)) { | ||||
| 		$r = q("SELECT xchan_name FROM xchan WHERE xchan_hash IN ( " . implode(', ', $deny_users) . " )"); | ||||
| 		if($r) | ||||
| 			foreach($r as $rr)  | ||||
| 				$l[] = '<li><strike>' . $rr['xchan_name'] . '</strike></li>'; | ||||
| 	} | ||||
|  | ||||
| 	echo $o . implode($l); | ||||
| 	killme(); | ||||
|  | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user