aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-08-21 20:05:55 -0700
committerfriendica <info@friendica.com>2013-08-21 20:05:55 -0700
commit6cea04eb440c2bb08bcb81ae13749c08d09b755c (patch)
tree1dc49fbb3b0e23afb7a3709fc54383f5b7c39fb8
parent5083aa3cbd9434b7ec63cf5bbbc2122e3da49696 (diff)
downloadvolse-hubzilla-6cea04eb440c2bb08bcb81ae13749c08d09b755c.tar.gz
volse-hubzilla-6cea04eb440c2bb08bcb81ae13749c08d09b755c.tar.bz2
volse-hubzilla-6cea04eb440c2bb08bcb81ae13749c08d09b755c.zip
progress on generic sellpage - is not yet linked from existing connect buttons and editing has not been completed
-rwxr-xr-xboot.php12
-rw-r--r--include/identity.php3
-rw-r--r--mod/connect.php98
-rw-r--r--view/css/mod_connect.css3
-rw-r--r--view/tpl/sellpage_submit.tpl3
-rw-r--r--view/tpl/sellpage_view.tpl9
6 files changed, 121 insertions, 7 deletions
diff --git a/boot.php b/boot.php
index 0afc976ae..3327fdbb2 100755
--- a/boot.php
+++ b/boot.php
@@ -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}}