Surface the ability to change the landing page after channel creation and create a 'go' module to present several possible things to do at this point. Change the default from 'settings' to 'profiles' so that the focus is more on you rather than the software configuration.

This commit is contained in:
zotlabs 2018-01-28 15:56:31 -08:00
parent 21f464a557
commit c3e365ef47
6 changed files with 93 additions and 3 deletions

View File

@ -38,6 +38,7 @@ class Site {
$site_sellpage = ((x($_POST,'site_sellpage')) ? notags(trim($_POST['site_sellpage'])) : '');
$site_location = ((x($_POST,'site_location')) ? notags(trim($_POST['site_location'])) : '');
$frontpage = ((x($_POST,'frontpage')) ? notags(trim($_POST['frontpage'])) : '');
$firstpage = ((x(trim($_POST,'firstpage'))) ? notags(trim($_POST['firstpage'])) : 'profiles');
$mirror_frontpage = ((x($_POST,'mirror_frontpage')) ? intval(trim($_POST['mirror_frontpage'])) : 0);
$directory_server = ((x($_POST,'directory_server')) ? trim($_POST['directory_server']) : '');
$allowed_sites = ((x($_POST,'allowed_sites')) ? notags(trim($_POST['allowed_sites'])) : '');
@ -80,6 +81,7 @@ class Site {
set_config('system', 'maxloadavg', $maxloadavg);
set_config('system', 'frontpage', $frontpage);
set_config('system', 'sellpage', $site_sellpage);
set_config('system', 'workflow_channel_next', $firstpage);
set_config('system', 'site_location', $site_location);
set_config('system', 'mirror_frontpage', $mirror_frontpage);
set_config('system', 'sitename', $sitename);
@ -340,6 +342,7 @@ class Site {
'$default_expire_days' => array('default_expire_days', t('Expiration period in days for imported (grid/network) content'), intval(get_config('system','default_expire_days')), t('0 for no expiration of imported content')),
'$sellpage' => array('site_sellpage', t('Public servers: Optional landing (marketing) webpage for new registrants'), get_config('system','sellpage',''), sprintf( t('Create this page first. Default is %s/register'),z_root())),
'$firstpage' => array('firstpage', t('Page to display after creating a new channel'), get_config('system','workflow_channel_next','profiles'), t('Recommend: profiles, go, or settings')),
'$location' => array('site_location', t('Optional: site location'), get_config('system','site_location',''), t('Region or country')),

66
Zotlabs/Module/Go.php Normal file
View File

@ -0,0 +1,66 @@
<?php
namespace Zotlabs\Module;
class Go extends \Zotlabs\Web\Controller {
function init() {
if(local_channel()) {
$channel = \App::get_channel();
if($channel) {
profile_load($channel['channel_address'],0);
}
}
}
function get() {
if(! local_channel()) {
notify( t('This page is available only to site members') . EOL);
}
$channel = \App::get_channel();
$title = t('Welcome');
$m = t('What would you like to do?');
$m1 = t('Please bookmark this page if you would like to return to it in the future');
$options = [
'profile_photo' => t('Upload a profile photo'),
'profiles' => t('Edit your default profile'),
'suggest' => t('View friend suggestions'),
'directory' => t('View the directory to find other interesting channels'),
'settings' => t('View/edit your channel settings'),
'help' => t('View the site or project documentation'),
'channel/' . $channel['channel_address'] => t('Visit your channel homepage'),
'connections' => t('View your connections and/or add somebody whose address you already know'),
'network' => t('View your personal stream (this may be empty until you add some connections)'),
];
$site_firehose = ((intval(get_config('system','site_firehose',0))) ? true : false);
$net_firehose = ((get_config('system','disable_discover_tab',1)) ? false : true);
if($site_firehose || $net_firehose) {
$options['pubstream'] = t('View the public stream. Warning: this content is not moderated');
}
$o = replace_macros(get_markup_template('go.tpl'), [
'$title' => $title,
'$m' => $m,
'$m1' => $m1,
'$options' => $options
]);
return $o;
}
}

View File

@ -89,9 +89,7 @@ class New_channel extends \Zotlabs\Web\Controller {
change_channel($result['channel']['channel_id']);
if(! strlen($next_page = get_config('system','workflow_channel_next')))
$next_page = 'settings';
$next_page = get_config('system', 'workflow_channel_next', 'profiles');
goaway(z_root() . '/' . $next_page);
}

6
view/pdl/mod_go.pdl Normal file
View File

@ -0,0 +1,6 @@
[region=aside]
[widget=fullprofile][/widget]
[/region]
[region=right_aside]
[widget=notifications][/widget]
[/region]

View File

@ -74,6 +74,7 @@
{{include file="field_select.tpl" field=$access_policy}}
{{include file="field_input.tpl" field=$location}}
{{include file="field_input.tpl" field=$sellpage}}
{{include file="field_input.tpl" field=$firstpage}}
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>

16
view/tpl/go.tpl Normal file
View File

@ -0,0 +1,16 @@
<h2>{{$title}}</h2>
<div class="descriptive-text">
<p>{{$m}}</p>
<p>{{$m1}}</p>
</div>
{{if $options}}
<ul class="nav nav-pills flex-column">
{{foreach $options as $k => $v}}
<li class="nav-item"><a href="{{$k}}" class="nav-link">{{$v}}</a></li>
{{/foreach}}
</ul>
{{/if}}