premium channel app

This commit is contained in:
Mario Vavti 2018-09-25 10:06:24 +02:00
parent c748230b35
commit 4c58a5cef2
3 changed files with 48 additions and 48 deletions

View File

@ -1,21 +1,21 @@
<?php <?php
namespace Zotlabs\Module; /** @file */ namespace Zotlabs\Module; /** @file */
use App;
use Zotlabs\Web\Controller;
use Zotlabs\Lib\Apps;
require_once('include/contact_widgets.php'); require_once('include/contact_widgets.php');
require_once('include/items.php'); require_once('include/items.php');
class Connect extends Controller {
class Connect extends \Zotlabs\Web\Controller {
function init() { function init() {
if(argc() > 1) if(argc() > 1)
$which = argv(1); $which = argv(1);
else { else {
notice( t('Requested profile is not available.') . EOL ); notice( t('Requested profile is not available.') . EOL );
\App::$error = 404; App::$error = 404;
return; return;
} }
@ -24,20 +24,32 @@ class Connect extends \Zotlabs\Web\Controller {
); );
if($r) if($r)
\App::$data['channel'] = $r[0]; App::$data['channel'] = $r[0];
$channel_id = App::$data['channel']['channel_id'];
if(! Apps::system_app_installed($channel_id, 'Premium Channel')) {
return;
}
profile_load($which,''); profile_load($which,'');
} }
function post() { function post() {
if(! array_key_exists('channel', \App::$data)) if(! array_key_exists('channel', App::$data))
return; return;
$edit = ((local_channel() && (local_channel() == \App::$data['channel']['channel_id'])) ? true : false); $channel_id = App::$data['channel']['channel_id'];
if(! Apps::system_app_installed($channel_id, 'Premium Channel')) {
return;
}
$edit = ((local_channel() && (local_channel() == $channel_id)) ? true : false);
if($edit) { if($edit) {
$has_premium = ((\App::$data['channel']['channel_pageflags'] & PAGE_PREMIUM) ? 1 : 0); $has_premium = ((App::$data['channel']['channel_pageflags'] & PAGE_PREMIUM) ? 1 : 0);
$premium = (($_POST['premium']) ? intval($_POST['premium']) : 0); $premium = (($_POST['premium']) ? intval($_POST['premium']) : 0);
$text = escape_tags($_POST['text']); $text = escape_tags($_POST['text']);
@ -48,25 +60,25 @@ class Connect extends \Zotlabs\Web\Controller {
intval(local_channel()) intval(local_channel())
); );
\Zotlabs\Daemon\Master::Summon(array('Notifier','refresh_all',\App::$data['channel']['channel_id'])); \Zotlabs\Daemon\Master::Summon(array('Notifier','refresh_all',$channel_id));
} }
set_pconfig(\App::$data['channel']['channel_id'],'system','selltext',$text); set_pconfig($channel_id,'system','selltext',$text);
// reload the page completely to get fresh data // reload the page completely to get fresh data
goaway(z_root() . '/' . \App::$query_string); goaway(z_root() . '/' . App::$query_string);
} }
$url = ''; $url = '';
$observer = \App::get_observer(); $observer = App::get_observer();
if(($observer) && ($_POST['submit'] === t('Continue'))) { if(($observer) && ($_POST['submit'] === t('Continue'))) {
if($observer['xchan_follow']) if($observer['xchan_follow'])
$url = sprintf($observer['xchan_follow'],urlencode(channel_reddress(\App::$data['channel']))); $url = sprintf($observer['xchan_follow'],urlencode(channel_reddress(App::$data['channel'])));
if(! $url) { if(! $url) {
$r = q("select * from hubloc where hubloc_hash = '%s' order by hubloc_id desc limit 1", $r = q("select * from hubloc where hubloc_hash = '%s' order by hubloc_id desc limit 1",
dbesc($observer['xchan_hash']) dbesc($observer['xchan_hash'])
); );
if($r) if($r)
$url = $r[0]['hubloc_url'] . '/follow?f=&url=' . urlencode(channel_reddress(\App::$data['channel'])); $url = $r[0]['hubloc_url'] . '/follow?f=&url=' . urlencode(channel_reddress(App::$data['channel']));
} }
} }
if($url) if($url)
@ -80,16 +92,30 @@ class Connect extends \Zotlabs\Web\Controller {
function get() { function get() {
$edit = ((local_channel() && (local_channel() == \App::$data['channel']['channel_id'])) ? true : false); if(! array_key_exists('channel', App::$data))
return;
$text = get_pconfig(\App::$data['channel']['channel_id'],'system','selltext'); $channel_id = App::$data['channel']['channel_id'];
if(! Apps::system_app_installed($channel_id, 'Premium Channel')) {
//Do not display any associated widgets at this point
App::$pdl = '';
$o = '<b>Premium Channel App (Not Installed):</b><br>';
$o .= t('Allows you to set restrictions and terms on those that connect with your channel');
return $o;
}
$edit = ((local_channel() && (local_channel() == $channel_id)) ? true : false);
$text = get_pconfig($channel_id,'system','selltext');
if($edit) { if($edit) {
$o = replace_macros(get_markup_template('sellpage_edit.tpl'),array( $o = replace_macros(get_markup_template('sellpage_edit.tpl'),array(
'$header' => t('Premium Channel Setup'), '$header' => t('Premium Channel Setup'),
'$address' => \App::$data['channel']['channel_address'], '$address' => App::$data['channel']['channel_address'],
'$premium' => array('premium', t('Enable premium channel connection restrictions'),((\App::$data['channel']['channel_pageflags'] & PAGE_PREMIUM) ? '1' : ''),''), '$premium' => array('premium', t('Enable premium channel connection restrictions'),((App::$data['channel']['channel_pageflags'] & PAGE_PREMIUM) ? '1' : ''),''),
'$lbl_about' => t('Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc.'), '$lbl_about' => t('Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc.'),
'$text' => $text, '$text' => $text,
'$desc' => t('This channel may require additional steps or acknowledgement of the following conditions prior to connecting:'), '$desc' => t('This channel may require additional steps or acknowledgement of the following conditions prior to connecting:'),
@ -107,7 +133,7 @@ class Connect extends \Zotlabs\Web\Controller {
$submit = replace_macros(get_markup_template('sellpage_submit.tpl'), array( $submit = replace_macros(get_markup_template('sellpage_submit.tpl'), array(
'$continue' => t('Continue'), '$continue' => t('Continue'),
'$address' => \App::$data['channel']['channel_address'] '$address' => App::$data['channel']['channel_address']
)); ));
$o = replace_macros(get_markup_template('sellpage_view.tpl'),array( $o = replace_macros(get_markup_template('sellpage_view.tpl'),array(
@ -120,7 +146,7 @@ class Connect extends \Zotlabs\Web\Controller {
)); ));
$arr = array('channel' => \App::$data['channel'],'observer' => \App::get_observer(), 'sellpage' => $o, 'submit' => $submit); $arr = array('channel' => App::$data['channel'],'observer' => App::get_observer(), 'sellpage' => $o, 'submit' => $submit);
call_hooks('connect_premium', $arr); call_hooks('connect_premium', $arr);
$o = $arr['sellpage']; $o = $arr['sellpage'];

View File

@ -111,7 +111,6 @@ class Settings_menu {
); );
} }
if($role === false || $role === 'custom') { if($role === false || $role === 'custom') {
$tabs[] = array( $tabs[] = array(
'label' => t('Connection Default Permissions'), 'label' => t('Connection Default Permissions'),
@ -120,22 +119,6 @@ class Settings_menu {
); );
} }
if(feature_enabled(local_channel(),'premium_channel')) {
$tabs[] = array(
'label' => t('Premium Channel Settings'),
'url' => z_root() . '/connect/' . $channel['channel_address'],
'selected' => ''
);
}
if(feature_enabled(local_channel(),'channel_sources')) {
$tabs[] = array(
'label' => t('Channel Sources'),
'url' => z_root() . '/sources',
'selected' => ''
);
}
$tabtpl = get_markup_template("generic_links_widget.tpl"); $tabtpl = get_markup_template("generic_links_widget.tpl");
return replace_macros($tabtpl, array( return replace_macros($tabtpl, array(
'$title' => t('Settings'), '$title' => t('Settings'),

View File

@ -85,15 +85,6 @@ function get_features($filtered = true, $level = (-1)) {
feature_level('start_menu',1), feature_level('start_menu',1),
], ],
[
'premium_channel',
t('Premium Channel'),
t('Allows you to set restrictions and terms on those that connect with your channel'),
false,
get_config('feature_lock','premium_channel'),
feature_level('premium_channel',4),
],
[ [
'advanced_theming', 'advanced_theming',
t('Advanced Theme and Layout Settings'), t('Advanced Theme and Layout Settings'),