progress on generic sellpage - is not yet linked from existing connect buttons and editing has not been completed

This commit is contained in:
friendica 2013-08-21 20:05:55 -07:00
parent 5083aa3cbd
commit 6cea04eb44
6 changed files with 121 additions and 7 deletions

View File

@ -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) {

View File

@ -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()),

View File

@ -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;
}

3
view/css/mod_connect.css Normal file
View File

@ -0,0 +1,3 @@
.sellpage-final {
margin-top: 25px;
}

View File

@ -0,0 +1,3 @@
<form id="sellpage-submit" action="connect/{{$address}}" method="post">
<input type="submit" name="submit" value="{{$continue}}" />
</form>

View File

@ -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}}