From 3424c7dc878ecf5b1f1c021737e3d7eba2443299 Mon Sep 17 00:00:00 2001 From: Andrew Manning Date: Sun, 29 Jan 2017 19:53:29 -0500 Subject: Add affinity slider tool settings for min and max defaults in settings/featured --- Zotlabs/Module/Settings/Featured.php | 29 +++++++++++++ include/widgets.php | 82 ++++++++++++++++++++++++++++++++++-- 2 files changed, 108 insertions(+), 3 deletions(-) diff --git a/Zotlabs/Module/Settings/Featured.php b/Zotlabs/Module/Settings/Featured.php index eec5f6c02..4885abd1d 100644 --- a/Zotlabs/Module/Settings/Featured.php +++ b/Zotlabs/Module/Settings/Featured.php @@ -10,6 +10,16 @@ class Featured { call_hooks('feature_settings_post', $_POST); + if(intval($_POST['affinity_cmax'])) { + set_pconfig(local_channel(),'affinity','cmax',intval($_POST['affinity_cmax'])); + } + if(intval($_POST['affinity_cmin'])) { + set_pconfig(local_channel(),'affinity','cmin',intval($_POST['affinity_cmin'])); + } + if(intval($_POST['affinity_cmax']) || intval($_POST['affinity_cmin'])) { + info( t('Affinity Slider settings updated.') . EOL); + } + build_sync_packet(); return; } @@ -23,6 +33,25 @@ class Featured { if(! $r) $settings_addons = t('No feature settings configured'); + if(feature_enabled(local_channel(),'affinity')) { + + $cmax = intval(get_pconfig(local_channel(),'affinity','cmax')); + $cmax = (($cmax) ? $cmax : 99); + $setting_fields .= replace_macros(get_markup_template('field_input.tpl'), array( + '$field' => array('affinity_cmax', t('Default maximum affinity level'), $cmax, '') + )); + $cmin = intval(get_pconfig(local_channel(),'affinity','cmin')); + $cmin = (($cmin) ? $cmin : 0); + $setting_fields .= replace_macros(get_markup_template('field_input.tpl'), array( + '$field' => array('affinity_cmin', t('Default minimum affinity level'), $cmin, '') + )); + + $settings_addons .= replace_macros(get_markup_template('generic_addon_settings.tpl'), array( + '$addon' => array('affinity_slider', '' . t('Affinity Slider Settings'), '', t('Submit')), + '$content' => $setting_fields + )); + } + call_hooks('feature_settings', $settings_addons); $tpl = get_markup_template("settings_addons.tpl"); diff --git a/include/widgets.php b/include/widgets.php index 98ea4e6a1..94c00dba8 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -521,9 +521,16 @@ function widget_affinity($arr) { if(! local_channel()) return ''; - - $cmin = ((x($_REQUEST,'cmin')) ? intval($_REQUEST['cmin']) : 0); - $cmax = ((x($_REQUEST,'cmax')) ? intval($_REQUEST['cmax']) : 99); + + // Get default cmin value from pconfig, but allow GET parameter to override + $cmin = intval(get_pconfig(local_channel(),'affinity','cmin')); + $cmin = (($cmin) ? $cmin : 0); + $cmin = ((x($_REQUEST,'cmin')) ? intval($_REQUEST['cmin']) : $cmin); + + // Get default cmax value from pconfig, but allow GET parameter to override + $cmax = intval(get_pconfig(local_channel(),'affinity','cmax')); + $cmax = (($cmax) ? $cmax : 99); + $cmax = ((x($_REQUEST,'cmax')) ? intval($_REQUEST['cmax']) : $cmax); if(feature_enabled(local_channel(),'affinity')) { @@ -900,6 +907,75 @@ function widget_chatroom_members() { return $o; } +/* + * $arr input array: + * room_id + * + */ +function widget_chatroom_panel($arr) { + + // This widget is only intended for use on the page of a local channel + if(local_channel()) { + $channel = \App::get_channel(); + $observer = get_observer_hash(); + if(! $observer) { + // This should never fail because the observer should be a local channel + return; + } + } else { + return; + } + + $room_id = $arr['room_id']; + + $x = \Zotlabs\Lib\Chatroom::enter($observer,$room_id,'online',$_SERVER['REMOTE_ADDR']); + if(! $x) + return; + $x = q("select * from chatroom where cr_id = %d and cr_uid = %d $sql_extra limit 1", + intval($room_id), + intval(\App::$profile['profile_uid']) + ); + + if($x) { + $acl = new \Zotlabs\Access\AccessList(false); + $acl->set($x[0]); + + $private = $acl->is_private(); + $room_name = $x[0]['cr_name']; + if($bookmark_link) + $bookmark_link .= '&url=' . z_root() . '/chat/' . argv(1) . '/' . argv(2) . '&title=' . urlencode($x[0]['cr_name']) . (($private) ? '&private=1' : '') . '&ischat=1'; + } + else { + logger('Room not found'); + return; + } + + $cipher = get_pconfig(local_channel(),'system','default_cipher'); + if(! $cipher) + $cipher = 'aes256'; + + $o = replace_macros(get_markup_template('chat.tpl'),array( + '$is_owner' => ((local_channel() && local_channel() == $x[0]['cr_uid']) ? true : false), + '$room_name' => $room_name, + '$room_id' => $room_id, + '$baseurl' => z_root(), + '$nickname' => argv(1), + '$submit' => t('Submit'), + '$leave' => t('Leave Room'), + '$drop' => t('Delete Room'), + '$away' => t('I am away right now'), + '$online' => t('I am online'), + '$bookmark_link' => $bookmark_link, + '$bookmark' => t('Bookmark this room'), + '$feature_encrypt' => ((feature_enabled(local_channel(),'content_encrypt')) ? true : false), + '$cipher' => $cipher, + '$linkurl' => t('Please enter a link URL:'), + '$encrypt' => t('Encrypt text'), + '$insert' => t('Insert web link') + )); + return $o; +} + function widget_wiki_list($arr) { $channel = channelx_by_n(App::$profile_uid); -- cgit v1.2.3 From 17011a7637565839f4dde917568ca12daf87de66 Mon Sep 17 00:00:00 2001 From: Andrew Manning Date: Sun, 29 Jan 2017 19:56:19 -0500 Subject: Remove unrelated chatroom panel stuff that was included accidentally --- include/widgets.php | 69 ----------------------------------------------------- 1 file changed, 69 deletions(-) diff --git a/include/widgets.php b/include/widgets.php index 94c00dba8..27eae7d6f 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -907,75 +907,6 @@ function widget_chatroom_members() { return $o; } -/* - * $arr input array: - * room_id - * - */ -function widget_chatroom_panel($arr) { - - // This widget is only intended for use on the page of a local channel - if(local_channel()) { - $channel = \App::get_channel(); - $observer = get_observer_hash(); - if(! $observer) { - // This should never fail because the observer should be a local channel - return; - } - } else { - return; - } - - $room_id = $arr['room_id']; - - $x = \Zotlabs\Lib\Chatroom::enter($observer,$room_id,'online',$_SERVER['REMOTE_ADDR']); - if(! $x) - return; - $x = q("select * from chatroom where cr_id = %d and cr_uid = %d $sql_extra limit 1", - intval($room_id), - intval(\App::$profile['profile_uid']) - ); - - if($x) { - $acl = new \Zotlabs\Access\AccessList(false); - $acl->set($x[0]); - - $private = $acl->is_private(); - $room_name = $x[0]['cr_name']; - if($bookmark_link) - $bookmark_link .= '&url=' . z_root() . '/chat/' . argv(1) . '/' . argv(2) . '&title=' . urlencode($x[0]['cr_name']) . (($private) ? '&private=1' : '') . '&ischat=1'; - } - else { - logger('Room not found'); - return; - } - - $cipher = get_pconfig(local_channel(),'system','default_cipher'); - if(! $cipher) - $cipher = 'aes256'; - - $o = replace_macros(get_markup_template('chat.tpl'),array( - '$is_owner' => ((local_channel() && local_channel() == $x[0]['cr_uid']) ? true : false), - '$room_name' => $room_name, - '$room_id' => $room_id, - '$baseurl' => z_root(), - '$nickname' => argv(1), - '$submit' => t('Submit'), - '$leave' => t('Leave Room'), - '$drop' => t('Delete Room'), - '$away' => t('I am away right now'), - '$online' => t('I am online'), - '$bookmark_link' => $bookmark_link, - '$bookmark' => t('Bookmark this room'), - '$feature_encrypt' => ((feature_enabled(local_channel(),'content_encrypt')) ? true : false), - '$cipher' => $cipher, - '$linkurl' => t('Please enter a link URL:'), - '$encrypt' => t('Encrypt text'), - '$insert' => t('Insert web link') - )); - return $o; -} - function widget_wiki_list($arr) { $channel = channelx_by_n(App::$profile_uid); -- cgit v1.2.3 From d0827dbb3c61727deba6fa9c2df3718467274e55 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 30 Jan 2017 15:17:46 +0100 Subject: provide a feature/unfeature app button --- Zotlabs/Lib/Apps.php | 23 +++++++++++++++++++++-- Zotlabs/Module/Appman.php | 4 ++++ view/tpl/app.tpl | 7 ++++--- view/tpl/nav.tpl | 5 +++++ 4 files changed, 34 insertions(+), 5 deletions(-) diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php index 2480dde1f..64ac16e5b 100644 --- a/Zotlabs/Lib/Apps.php +++ b/Zotlabs/Lib/Apps.php @@ -349,7 +349,8 @@ class Apps { '$edit' => ((local_channel() && $installed && $mode == 'edit') ? t('Edit') : ''), '$delete' => ((local_channel() && $installed && $mode == 'edit') ? t('Delete') : ''), '$undelete' => ((local_channel() && $installed && $mode == 'edit') ? t('Undelete') : ''), - '$deleted' => $papp['deleted'] + '$deleted' => $papp['deleted'], + '$featured' => ((strpos($papp['categories'], 'featured') === false) ? false : true) )); } @@ -421,7 +422,6 @@ class Apps { } } - static public function app_undestroy($uid,$app) { // undelete a system app @@ -443,8 +443,27 @@ class Apps { } } + static public function app_feature($uid,$app) { + $r = q("select id from app where app_id = '%s' and app_channel = %d limit 1", + dbesc($app['guid']), + intval($uid) + ); + $x = q("select * from term where otype = %d and oid = %d limit 1", + intval(TERM_OBJ_APP), + intval($r[0]['id']) + ); + if($x) { + q("delete from term where otype = %d and oid = %d", + intval(TERM_OBJ_APP), + intval($x[0]['oid']) + ); + } + else { + store_item_tag($uid,$r[0]['id'],TERM_OBJ_APP,TERM_CATEGORY,'featured',escape_tags(z_root() . '/apps/?f=&cat=featured')); + } + } static public function app_installed($uid,$app) { diff --git a/Zotlabs/Module/Appman.php b/Zotlabs/Module/Appman.php index a7631758b..270301d34 100644 --- a/Zotlabs/Module/Appman.php +++ b/Zotlabs/Module/Appman.php @@ -62,6 +62,10 @@ class Appman extends \Zotlabs\Web\Controller { return; } + if($_POST['feature']) { + Zlib\Apps::app_feature(local_channel(),$papp); + } + if($_SESSION['return_url']) goaway(z_root() . '/' . $_SESSION['return_url']); diff --git a/view/tpl/app.tpl b/view/tpl/app.tpl index def98e869..434653e1e 100644 --- a/view/tpl/app.tpl +++ b/view/tpl/app.tpl @@ -14,9 +14,10 @@
- {{if $install}}{{/if}} - {{if $edit}}{{/if}} - {{if $delete}}{{/if}} + {{if $install}}{{/if}} + {{if $edit}}{{/if}} + {{if $delete}}{{/if}} +
{{/if}} diff --git a/view/tpl/nav.tpl b/view/tpl/nav.tpl index 16cd9deca..86f9d5cf9 100755 --- a/view/tpl/nav.tpl +++ b/view/tpl/nav.tpl @@ -215,6 +215,11 @@ {{/if}} {{if $navapps}} + {{if $nav.help.6}} + + {{/if}} -- cgit v1.2.3