diff options
-rwxr-xr-x | boot.php | 12 | ||||
-rw-r--r-- | include/identity.php | 3 | ||||
-rw-r--r-- | mod/connect.php | 98 | ||||
-rw-r--r-- | view/css/mod_connect.css | 3 | ||||
-rw-r--r-- | view/tpl/sellpage_submit.tpl | 3 | ||||
-rw-r--r-- | view/tpl/sellpage_view.tpl | 9 |
6 files changed, 121 insertions, 7 deletions
@@ -1572,11 +1572,11 @@ function profile_load(&$a, $nickname, $profile = '') { return; } -function profile_create_sidebar(&$a) { +function profile_create_sidebar(&$a,$connect = true) { $block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false); - $a->set_widget('profile',profile_sidebar($a->profile, $block)); + $a->set_widget('profile',profile_sidebar($a->profile, $block, $connect)); return; } @@ -1598,7 +1598,7 @@ function profile_create_sidebar(&$a) { -function profile_sidebar($profile, $block = 0) { +function profile_sidebar($profile, $block = 0, $show_connect = true) { $a = get_app(); @@ -1623,11 +1623,13 @@ function profile_sidebar($profile, $block = 0) { require_once('include/Contact.php'); - $connect_url = rconnect_url($profile['uid'],get_observer_hash()); + + $connect_url = (($show_connect) ? rconnect_url($profile['uid'],get_observer_hash()) : ''); + $connect = (($connect_url) ? t('Connect') : ''); if($connect_url) - $connect_url = $connect_url . '/follow?f=1&url=' . $profile['channel_address'] . '@' . $a->get_hostname(); + $connect_url = $connect_url . '/follow?f=1&url=' . urlencode($profile['channel_address'] . '@' . $a->get_hostname()); // show edit profile to yourself if($is_owner) { diff --git a/include/identity.php b/include/identity.php index 5f210c456..1658669d6 100644 --- a/include/identity.php +++ b/include/identity.php @@ -182,7 +182,7 @@ function create_identity($arr) { $newuid = $ret['channel']['channel_id']; - $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_photo_l, xchan_photo_m, xchan_photo_s, xchan_addr, xchan_url, xchan_name, xchan_network, xchan_photo_date, xchan_name_date ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", + $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_photo_l, xchan_photo_m, xchan_photo_s, xchan_addr, xchan_url, xchan_follow, xchan_name, xchan_network, xchan_photo_date, xchan_name_date ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", dbesc($hash), dbesc($guid), dbesc($sig), @@ -192,6 +192,7 @@ function create_identity($arr) { dbesc($a->get_baseurl() . "/photo/profile/s/{$newuid}"), dbesc($ret['channel']['channel_address'] . '@' . get_app()->get_hostname()), dbesc(z_root() . '/channel/' . $ret['channel']['channel_address']), + dbesc(z_root() . '/follow?f=&url=%s'), dbesc($ret['channel']['channel_name']), dbesc('zot'), dbesc(datetime_convert()), diff --git a/mod/connect.php b/mod/connect.php index 21d461c19..0ab994ddd 100644 --- a/mod/connect.php +++ b/mod/connect.php @@ -1,3 +1,99 @@ <?php /** @file */ -// Placeholder for channel sell pages + +require_once('include/Contact.php'); +require_once('include/contact_widgets.php'); +require_once('include/items.php'); + + +function connect_init(&$a) { + if(argc() > 1) + $which = argv(1); + else { + notice( t('Requested profile is not available.') . EOL ); + $a->error = 404; + return; + } + + profile_load($a,$which,''); + profile_create_sidebar($a,false); + + +} + +function connect_post(&$a) { + + $edit = ((local_user() && (local_user() == $a->profile['profile_uid'])) ? true : false); + + if($edit) { + $premium = (($_POST['premium']) ? intval($_POST['premium']) : 0); + $text = escape_tags($_POST['text']); + + $channel = $a->get_channel(); + if(($channel['channel_pageflags'] & PAGE_PREMIUM) != $premium) + $r = q("update channel set channel_flags = channel_flags ^ %d where channel_id = %d limit 1", + intval(PAGE_PREMIUM), + intval(local_user()) + ); + set_pconfig($a->profile['profile_uid'],'system','selltext',$text); + return; + } + + $url = ''; + $observer = $a->get_observer(); + if(($observer) && ($_POST['submit'] === t('Continue'))) { + if($observer['xchan_follow']) + $url = sprintf($observer['xchan_follow'],urlencode($a->profile['channel_address'] . '@' . $a->get_hostname())); + if(! $url) { + $r = q("select * from hubloc where hubloc_hash = '%s' order by hubloc_id desc limit 1", + dbesc($observer['xchan_hash']) + ); + if($r) + $url = $r[0]['hubloc_url'] . '/follow?f=&url=' . urlencode($a->profile['channel_address'] . '@' . $a->get_hostname()); + } + } + if($url) + goaway($url); + else + notice('Unable to connect to your home hub location.'); + +} + + + +function connect_content(&$a) { + + $edit = ((local_user() && (local_user() == $a->profile['profile_uid'])) ? true : false); + + $text = get_pconfig($a->profile['profile_uid'],'system','selltext'); + + if($edit) { + $o = replace_macros(get_markup_template('sellpage_edit.tpl'),array( + + + )); + return $o; + } + else { + $submit = replace_macros(get_markup_template('sellpage_submit.tpl'), array( + '$continue' => t('Continue'), + '$address' => $a->profile['channel_address'] + )); + + $o = replace_macros(get_markup_template('sellpage_view.tpl'),array( + '$header' => t('Restricted Channel'), + '$desc' => t('This channel may require additional steps or acknowledgement of the following conditions prior to connecting:'), + '$text' => prepare_text($text), + + '$desc2' => t('By continuing, I certify that I have complied with any instructions provided on this page.'), + '$submit' => $submit, + + )); + + + + + } + + return $o; +}
\ No newline at end of file diff --git a/view/css/mod_connect.css b/view/css/mod_connect.css new file mode 100644 index 000000000..43de7d256 --- /dev/null +++ b/view/css/mod_connect.css @@ -0,0 +1,3 @@ +.sellpage-final { + margin-top: 25px; +}
\ No newline at end of file diff --git a/view/tpl/sellpage_submit.tpl b/view/tpl/sellpage_submit.tpl new file mode 100644 index 000000000..2bd735ea4 --- /dev/null +++ b/view/tpl/sellpage_submit.tpl @@ -0,0 +1,3 @@ +<form id="sellpage-submit" action="connect/{{$address}}" method="post"> +<input type="submit" name="submit" value="{{$continue}}" /> +</form>
\ No newline at end of file diff --git a/view/tpl/sellpage_view.tpl b/view/tpl/sellpage_view.tpl new file mode 100644 index 000000000..414445039 --- /dev/null +++ b/view/tpl/sellpage_view.tpl @@ -0,0 +1,9 @@ +<h1>{{$header}}</h1> + +<div class="descriptive-text">{{$desc}}</div> + +<div class="sellpage-body">{{$text}}</div> + +<div class="sellpage-final">{{$desc2}}</div> + +{{$submit}} |