wiki auto language select to match webpages implementation
This commit is contained in:
		| @@ -44,7 +44,7 @@ class NativeWikiPage { | |||||||
| 					$pages[] = [ | 					$pages[] = [ | ||||||
| 						'resource_id' => $resource_id, | 						'resource_id' => $resource_id, | ||||||
| 						'title'       => escape_tags($title), | 						'title'       => escape_tags($title), | ||||||
| 						'url'         => urlencode(urlencode($title)), | 						'url'         => str_replace('%2F','/',urlencode(str_replace('%2F','/',urlencode($title)))), | ||||||
| 						'link_id'     => 'id_' . substr($resource_id, 0, 10) . '_' . $page_item['id'] | 						'link_id'     => 'id_' . substr($resource_id, 0, 10) . '_' . $page_item['id'] | ||||||
| 					]; | 					]; | ||||||
| 				} | 				} | ||||||
|   | |||||||
| @@ -192,12 +192,28 @@ class Wiki extends \Zotlabs\Web\Controller { | |||||||
| 				goaway(z_root() . '/' . argv(0) . '/' . argv(1) . '/' . $wikiUrlName . '/Home'); | 				goaway(z_root() . '/' . argv(0) . '/' . argv(1) . '/' . $wikiUrlName . '/Home'); | ||||||
|  |  | ||||||
| 			case 4: | 			case 4: | ||||||
|  | 			default: | ||||||
|  |  | ||||||
| 				// GET /wiki/channel/wiki/page | 				// GET /wiki/channel/wiki/page | ||||||
| 				// Fetch the wiki info and determine observer permissions | 				// Fetch the wiki info and determine observer permissions | ||||||
|  |  | ||||||
| 				$wikiUrlName = urldecode(argv(2)); | 				$wikiUrlName = urldecode(argv(2)); | ||||||
| 				$pageUrlName = urldecode(argv(3)); |  | ||||||
|  | 				$page_name = ''; | ||||||
|  | 				$ignore_language = false; | ||||||
|  |  | ||||||
|  | 				for($x = 3; $x < argc(); $x ++) { | ||||||
|  | 					if($page_name === '' && argv($x) === '-') { | ||||||
|  | 						$ignore_language = true; | ||||||
|  | 						continue; | ||||||
|  | 					} | ||||||
|  | 					if($page_name) | ||||||
|  | 						$page_name .= '/'; | ||||||
|  |             		$page_name .= argv($x); | ||||||
|  | 				} | ||||||
|  |  | ||||||
|  | 				$pageUrlName = urldecode($page_name); | ||||||
|  | 				$langPageUrlName = urldecode(\App::$language . '/' . $page_name); | ||||||
|  |  | ||||||
| 				$w = Zlib\NativeWiki::exists_by_name($owner['channel_id'], $wikiUrlName); | 				$w = Zlib\NativeWiki::exists_by_name($owner['channel_id'], $wikiUrlName); | ||||||
|  |  | ||||||
| @@ -227,9 +243,15 @@ class Wiki extends \Zotlabs\Web\Controller { | |||||||
| 				$wikiheaderPage = urldecode($pageUrlName); | 				$wikiheaderPage = urldecode($pageUrlName); | ||||||
|  |  | ||||||
| 				$renamePage = (($wikiheaderPage === 'Home') ? '' : t('Rename page')); | 				$renamePage = (($wikiheaderPage === 'Home') ? '' : t('Rename page')); | ||||||
|  | 				$p = []; | ||||||
|  |  | ||||||
| 				$p = Zlib\NativeWikiPage::get_page_content(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName)); | 				if(! $ignore_language) { | ||||||
| 				if(! $p['success']) { | 					$p = Zlib\NativeWikiPage::get_page_content(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $langPageUrlName)); | ||||||
|  | 				} | ||||||
|  | 				if(! ($p && $p['success'])) { | ||||||
|  | 					$p = Zlib\NativeWikiPage::get_page_content(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName)); | ||||||
|  | 				} | ||||||
|  | 				if(! ($p && $p['success'])) { | ||||||
| 					notice( t('Error retrieving page content') . EOL); | 					notice( t('Error retrieving page content') . EOL); | ||||||
| 					goaway(z_root() . '/' . argv(0) . '/' . argv(1) ); | 					goaway(z_root() . '/' . argv(0) . '/' . argv(1) ); | ||||||
| 				} | 				} | ||||||
| @@ -251,8 +273,8 @@ class Wiki extends \Zotlabs\Web\Controller { | |||||||
| 				} | 				} | ||||||
| 				$showPageControls = $wiki_editor; | 				$showPageControls = $wiki_editor; | ||||||
| 				break; | 				break; | ||||||
| 			default:	// Strip the extraneous URL components | //			default:	// Strip the extraneous URL components | ||||||
| 				goaway('/' . argv(0) . '/' . argv(1) . '/' . $wikiUrlName . '/' . $pageUrlName); | //				goaway('/' . argv(0) . '/' . argv(1) . '/' . $wikiUrlName . '/' . $pageUrlName); | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user