apporder style improvement and add to nav menu, also add language awareness to webpages
This commit is contained in:
		| @@ -112,7 +112,7 @@ class Editwebpage extends \Zotlabs\Web\Controller { | ||||
| 			intval($itm[0]['id']) | ||||
| 		); | ||||
| 		if($item_id) | ||||
| 			$page_title = $item_id[0]['v']; | ||||
| 			$page_title = str_replace('%2f','/',$item_id[0]['v']); | ||||
|  | ||||
| 		$mimetype = $itm[0]['mimetype']; | ||||
|  | ||||
|   | ||||
| @@ -43,11 +43,31 @@ class Page extends \Zotlabs\Web\Controller { | ||||
| 	 | ||||
| 		$channel_address = argv(1); | ||||
| 	 | ||||
| 		// Always look first for the page name prefixed by the observer language; for instance page/nickname/de/foo | ||||
| 		// followed by page/nickname/foo if that is not found. | ||||
| 		// If your browser language is de and you want to access the default in this case,  | ||||
| 		// use page/nickname/-/foo to over-ride the language and access only the page with pagelink of 'foo' | ||||
|  | ||||
| 		$page_name = ''; | ||||
| 		$ignore_language = false; | ||||
|  | ||||
| 		for($x = 2; $x < argc(); $x ++) { | ||||
| 			if($page_name === '' && argv($x) === '-') { | ||||
| 				$ignore_language = true; | ||||
| 				continue; | ||||
| 			} | ||||
| 			if($page_name) | ||||
| 				$page_name .= '/'; | ||||
| 			$page_name .= argv($x); | ||||
| 		} | ||||
|  | ||||
|  | ||||
| 		// The page link title was stored in a urlencoded format | ||||
| 		// php or the browser may/will have decoded it, so re-encode it for our search | ||||
| 	 | ||||
| 		$page_id = urlencode(argv(2)); | ||||
| 	 | ||||
| 		$page_id = urlencode($page_name); | ||||
| 		$lang_page_id = urlencode(\App::$language . '/' . $page_name); | ||||
|  | ||||
| 		$u = q("select channel_id from channel where channel_address = '%s' limit 1", | ||||
| 			dbesc($channel_address) | ||||
| 		); | ||||
| @@ -64,16 +84,31 @@ class Page extends \Zotlabs\Web\Controller { | ||||
| 	 | ||||
| 		require_once('include/security.php'); | ||||
| 		$sql_options = item_permissions_sql($u[0]['channel_id']); | ||||
| 	 | ||||
| 		$r = q("select item.* from item left join iconfig on item.id = iconfig.iid | ||||
| 			where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0  | ||||
| 			and (( iconfig.k = 'WEBPAGE' and item_type = %d )  | ||||
| 			OR ( iconfig.k = 'PDL' AND item_type = %d )) $sql_options $revision limit 1", | ||||
| 			intval($u[0]['channel_id']), | ||||
| 			dbesc($page_id), | ||||
| 			intval(ITEM_TYPE_WEBPAGE), | ||||
| 			intval(ITEM_TYPE_PDL) | ||||
| 		); | ||||
|  | ||||
| 		$r = null;	 | ||||
|  | ||||
| 		if(! $ignore_language) { | ||||
| 			$r = q("select item.* from item left join iconfig on item.id = iconfig.iid | ||||
| 				where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0  | ||||
| 				and (( iconfig.k = 'WEBPAGE' and item_type = %d )  | ||||
| 				OR ( iconfig.k = 'PDL' AND item_type = %d )) $sql_options $revision limit 1", | ||||
| 				intval($u[0]['channel_id']), | ||||
| 				dbesc($lang_page_id), | ||||
| 				intval(ITEM_TYPE_WEBPAGE), | ||||
| 				intval(ITEM_TYPE_PDL) | ||||
| 			); | ||||
| 		} | ||||
| 		if(! $r) { | ||||
| 			$r = q("select item.* from item left join iconfig on item.id = iconfig.iid | ||||
| 				where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0  | ||||
| 				and (( iconfig.k = 'WEBPAGE' and item_type = %d )  | ||||
| 				OR ( iconfig.k = 'PDL' AND item_type = %d )) $sql_options $revision limit 1", | ||||
| 				intval($u[0]['channel_id']), | ||||
| 				dbesc($page_id), | ||||
| 				intval(ITEM_TYPE_WEBPAGE), | ||||
| 				intval(ITEM_TYPE_PDL) | ||||
| 			); | ||||
| 		} | ||||
| 		if(! $r) { | ||||
| 	 | ||||
| 			// Check again with no permissions clause to see if it is a permissions issue | ||||
|   | ||||
| @@ -218,13 +218,13 @@ class Webpages extends \Zotlabs\Web\Controller { | ||||
| 					'created'	=> $rr['created'], | ||||
| 					'edited'	=> $rr['edited'], | ||||
| 					'mimetype'	=> $rr['mimetype'], | ||||
| 					'pagetitle'	=> $rr['v'], | ||||
| 					'pagetitle'	=> str_replace('%2f','/',$rr['v']), | ||||
| 					'mid'		=> $rr['mid'], | ||||
| 					'layout_mid'    => $rr['layout_mid'] | ||||
| 				); | ||||
| 				$pages[$rr['iid']][] = array( | ||||
| 					'url'		=> $rr['iid'], | ||||
| 					'pagetitle'	=> $rr['v'], | ||||
| 					'pagetitle'	=> str_replace('%2f','/',$rr['v']), | ||||
| 					'title'		=> $rr['title'], | ||||
| 					'created'	=> datetime_convert('UTC',date_default_timezone_get(),$rr['created']), | ||||
| 					'edited'	=> datetime_convert('UTC',date_default_timezone_get(),$rr['edited']), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user