From 056ee42d62adec4c28a46145a6940f3c17548284 Mon Sep 17 00:00:00 2001 From: Lem Smyth Date: Tue, 25 Jan 2022 19:20:27 -0600 Subject: [PATCH 01/13] rebase lbrypress --- .gitignore | 2 + README.md | 27 +- admin/css/index.php | 2 + admin/css/lbry-admin.css | 47 +++ admin/images/add-channel.jpg | Bin 0 -> 24498 bytes admin/images/channel-create-success.jpg | Bin 0 -> 6259 bytes admin/images/index.php | 2 + admin/images/lbry-icon.png | Bin 0 -> 654 bytes admin/images/lbry.png | Bin 0 -> 10544 bytes admin/images/new-channel.jpg | Bin 0 -> 24031 bytes admin/images/settings-tab.jpg | Bin 0 -> 29585 bytes admin/images/speech-tab.jpg | Bin 0 -> 28105 bytes admin/images/wallet-address.jpg | Bin 0 -> 31706 bytes admin/js/index.php | 2 + bin/index.php | 2 + classes/LBRYPress.php | 67 ++-- classes/LBRY_Admin.php | 426 ++++++++++++++++++------ classes/LBRY_Admin_Notice.php | 33 +- classes/LBRY_Daemon.php | 130 ++++---- classes/LBRY_Daemon_Logger.php | 2 + classes/LBRY_Network.php | 104 ++++-- classes/LBRY_Network_Parser.php | 2 + classes/LBRY_Network_Publisher.php | 58 ++-- classes/LBRY_Notifier.php | 1 + classes/LBRY_Speech.php | 7 +- classes/LBRY_Speech_Media.php | 1 + classes/LBRY_Speech_Parser.php | 1 + classes/index.php | 2 + classes/lbry_post_handler.php | 1 + frontend/index.php | 2 + inc/index.php | 2 + templates/index.php | 2 + templates/meta-box.php | 62 ++++ templates/meta_box.php | 2 + templates/options-page.php | 48 +++ templates/options_page.php | 52 --- templates/partials/channel-page.php | 71 ++++ templates/partials/index.php | 2 + templates/published_on_lbry_banner.php | 2 + templates/requirements-error.php | 3 + tests/index.php | 2 + uninstall.php | 1 + vendor/index.php | 2 + 43 files changed, 844 insertions(+), 328 deletions(-) create mode 100644 admin/css/index.php create mode 100644 admin/css/lbry-admin.css create mode 100644 admin/images/add-channel.jpg create mode 100644 admin/images/channel-create-success.jpg create mode 100644 admin/images/index.php create mode 100644 admin/images/lbry-icon.png create mode 100644 admin/images/lbry.png create mode 100644 admin/images/new-channel.jpg create mode 100644 admin/images/settings-tab.jpg create mode 100644 admin/images/speech-tab.jpg create mode 100644 admin/images/wallet-address.jpg create mode 100644 admin/js/index.php create mode 100644 bin/index.php create mode 100644 classes/index.php create mode 100644 frontend/index.php create mode 100644 inc/index.php create mode 100644 templates/index.php create mode 100644 templates/meta-box.php create mode 100644 templates/options-page.php delete mode 100644 templates/options_page.php create mode 100644 templates/partials/channel-page.php create mode 100644 templates/partials/index.php create mode 100644 tests/index.php create mode 100644 vendor/index.php diff --git a/.gitignore b/.gitignore index 70d3e4c..0586cae 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ !*.* .DS_Store +extensions.json +.vscode/* tmp/* logs/* diff --git a/README.md b/README.md index 8904846..960670d 100644 --- a/README.md +++ b/README.md @@ -43,10 +43,11 @@ WantedBy=multi-user.target 1) Start it with: `sudo service lbrynet start`. If you are already running LBRY in the background, issue a `lbrynet stop` command first. ## Funding and preparing your wallet -LBRY will require LBRY Credits (LBC) for the channel creation and publishing process. You can send LBC to this instance from your LBRY app / lbry.tv using the Wallet page > Send Credits. If you need LBC, sign up for a [lbry.tv account](https://lbry.tv) or [email us](mailto:hello@lbry.com). After you send credits, they will be split into smaller amounts to facilatate the publishing process. You can also use an existing LBRY Desktop wallet/ channel by copying the default_wallet file into `~/.local/shared/lbry/lbryum/wallets`. +LBRY will require LBRY Credits (LBC) for the channel creation and publishing process. You can send LBC to this instance from your LBRY app / lbry.tv using the Wallet page > Send Credits. If you need LBC, sign up for a [lbry.tv account](https://lbry.tv) or [email us](mailto:hello@lbry.com). After you send credits, they will be split into smaller amounts to facilitate the publishing process. You can also use an existing LBRY Desktop wallet/ channel by copying the default_wallet file into `~/.local/shared/lbry/lbryum/wallets`. 1) Go to the LBRYPress plugin page and find your wallet address: -![](https://spee.ch/d/address.jpg) + +![](/admin/images/wallet-address.jpg) 1) Copy this address and send at least a few credits to it. From the Desktop app/lbry.tv, go to the Wallet page > Send Credits. 1) We will take the amount you deposited and split it up by a factor of 10. So if you deposited 10 LBC, you'd split it into 100: The decimal point is important, it will throw back an error without the structure of "10.0" @@ -58,19 +59,29 @@ Experimental: republishing of images in blog to LBRY: If images or GIFs are used **Please note: spee.ch channel creation is no longer available and that step can be skiped.** -1) Enter 0.1 for **LBC per Publish**. +1) Select the channel you wish as a **Default Publish Channel**. Can change later on a per-post basis. +1) Select the **Default Publish License** you wish to use as your default. +1) Enter 0.001 for **LBC per Publish** (later you can add more as a support if needed). 1) Click **Save Settings**. -![](https://spee.ch/8/speech-setup-lbrypress.jpeg) +![](/admin/images/settings-tab.jpg) -## Setting up a your blog publishing channel -If you don't already have a channel, this process will create a channel in your local wallet where your blog posts will be published to. Any available channels will be listed at the top of the **Your Publishable Channels** section. +## Setting up your blog publishing channel +If you don't already have a channel, this process will create a channel in your local wallet where your blog posts will be published to. Any available channels will be listed at the top of the **Your Publishable Channels** section on the **Channels** tab. 1) Enter the channel you wish to create and publish under in **New Channel Name**. -1) Enter a bid of 0.01 (this can be increased later). +Your channel will be created with a single @ prefix and all spaces and underscores are changed to a dash. Uppercase characters are allowed. Most special characters are removed. +1) Enter an **Amount of LBC to Bid** of 0.001 (current minimum, you can increase the amount or use supports later). +By adding as a support you push your content higher in the search but also keep your LBC fluid and easily moved without needing to abandon your claim. 1) Click **Add New Channel**. -![](https://spee.ch/7/channel-lbrypress.jpg) +![](/admin/images/add-channel.jpg) + +![](/admin/images/channel-create-success.jpg) + +Wait a few minutes and do a page refresh, your new channel should now be in the list. + +![](/admin/images/new-channel.jpg) ## Publishing blog posts When creating a new post (or editing an existing one), you can choose to publish it on LBRY as well. If you do this for an existing post, it will not retain the original date (known issue). diff --git a/admin/css/index.php b/admin/css/index.php new file mode 100644 index 0000000..4a77e23 --- /dev/null +++ b/admin/css/index.php @@ -0,0 +1,2 @@ +y7u0cXzkq?!~n&?z9Dp>%V*E_&Im}nLBgW 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 NOE+UpI72Vz{s*_E^$7p~ literal 0 HcmV?d00001 diff --git a/admin/images/channel-create-success.jpg b/admin/images/channel-create-success.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1f39420f8f924ca0e66477f38c65d7c73349fbae GIT binary patch literal 6259 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 GHvV5t5xo)s literal 0 HcmV?d00001 diff --git a/admin/images/index.php b/admin/images/index.php new file mode 100644 index 0000000..4a77e23 --- /dev/null +++ b/admin/images/index.php @@ -0,0 +1,2 @@ +?#wx7&iw%T43dXQz9qS+st5b& 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 Tj#lf@|J#t2RFtR^GYb5F!4Ul9 literal 0 HcmV?d00001 diff --git a/admin/images/new-channel.jpg b/admin/images/new-channel.jpg new file mode 100644 index 0000000000000000000000000000000000000000..371d2962e7e20e8114d8b5cbb8c5689484395f65 GIT binary patch literal 24031 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

Tcizp?yT;G_|OB^#sy#?`|G!AX>t#Z zJoeno3O6A$cIXx0G3Rxe6EhC!&*YdQaG;vS|Me*AK{f|3;OiTOgvceYGd%4UlZm&4`-ob+|b? zX2?1#*Q(fyK$<83+gZn({L>v z(CXcR%4=QE5HVs%>R);qikOR-r+ITIwvavCAbkk-iJBRXpmHLVEO{VShfWsJ8t;H)`QAV@z;TVv749I2@GG*H(a;G!;=nX<`i8IPqcG)yNON7=j4 z+K3pFfP-)|&oRs@OcNytN0ipC0SNv*XTS22!QZk_eC1?dd>VpqlhD*xog(Su@$kO_ zN^hl@n}&1cCDpZsDA^cqSSPOXwdtL0+a0nNl$p`Wi4YnV%p!T!Q9!FAs+6Zp@J+MU=N7l+$Q8C5nMfsuuv}AX>A_0n{ zq0f-ftW_-B+c-xp`~PhLu%Q18l=A5|6J&oy*-%{p=gysB zH~&q7KYn?E`;DNNs(Zo&u#0|QtC8N~D!6W=-_2}I*AOIQH**43kqlMa@Bo(TJ#*DyPG25mTTWm0B!7VL51W1-ZrZ>erw&qKVvDS~eYo#D)OX0O3e8M(GM>cT=Sr>z3~)tG zrqwx{M|nY#FXGpS(asa~xkBz;l4db?D_BlT7SbwkIWFH0f7KLkt}umc+ex#U?s6&n z1_tHm!P7Zv2zR@pcCC({yW^`Cm>orv!`r&aUqz>YqQL7ahuw|0lqgTgMlHQ)jHS!v zm4djG*ZL%``*GLf9Joe*=fh#M2`WYJV*)i$;Yo?Fs9N@5S7}TjF@8Wz#NEWlm~im^ zl3!t_MlQ+mr+QUgn|3edfUIiJ`lD~>0{@-*_^=0E>_v|<1N literal 0 HcmV?d00001 diff --git a/admin/images/settings-tab.jpg b/admin/images/settings-tab.jpg new file mode 100644 index 0000000000000000000000000000000000000000..652281e053124dd46232efbb7d6565eee54677ad GIT binary patch literal 29585 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 literal 0 HcmV?d00001 diff --git a/admin/images/speech-tab.jpg b/admin/images/speech-tab.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fb62d8a84cd3ba6f60df5e34e914bc8869e43d97 GIT binary patch literal 28105 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 literal 0 HcmV?d00001 diff --git a/admin/images/wallet-address.jpg b/admin/images/wallet-address.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ecd881819a0e35e6b0df36937996aa2b7a67b548 GIT binary patch literal 31706 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 literal 0 HcmV?d00001 diff --git a/admin/js/index.php b/admin/js/index.php new file mode 100644 index 0000000..4a77e23 --- /dev/null +++ b/admin/js/index.php @@ -0,0 +1,2 @@ +define_constants(); - spl_autoload_register(array($this, 'lbry_autoload_register')); + spl_autoload_register( array( $this, 'lbry_autoload_register' ) ); $this->init(); $this->init_hooks(); } @@ -88,10 +89,10 @@ class LBRYPress * @param string $name Constant name. * @param string|bool $value Constant value. */ - private function define($name, $value) + private function define( $name, $value ) { - if (! defined($name)) { - define($name, $value); + if ( ! defined( $name ) ) { + define( $name, $value ); } } @@ -107,18 +108,20 @@ class LBRYPress $this->define('LBRY_VERSION', $this->version); // Library Options Names - $this->define('LBRY_SETTINGS_GROUP', 'lbry_settings_group'); + //$this->define('LBRY_SETTINGS_GROUP', 'lbry_settings_group'); $this->define('LBRY_SETTINGS', 'lbry_settings'); $this->define('LBRY_SETTINGS_SECTION_GENERAL', 'lbry_settings_section_general'); $this->define('LBRY_ADMIN_PAGE', 'lbrypress'); $this->define('LBRY_WALLET', 'lbry_wallet'); // the wallet address + $this->define('LBRY_SPEECH_SETTINGS', 'lbry_speech_settings'); $this->define('LBRY_SPEECH', 'lbry_speech'); // the spee.ch address $this->define('LBRY_SPEECH_CHANNEL', 'lbry_speech_channel'); // The spee.ch channel $this->define('LBRY_SPEECH_PW', 'lbry_speech_pw'); // The password for the spee.ch channel $this->define('LBRY_LICENSE', 'lbry_license'); // the license to publish with to the LBRY network $this->define('LBRY_LBC_PUBLISH', 'lbry_lbc_publish'); // amount of lbc to use per publish $this->define('LBRY_WILL_PUBLISH', '_lbry_will_publish'); // The meta key for if to publish to LBRY Network or not - $this->define('LBRY_POST_CHANNEL', '_lbry_channel'); // The meta key for which channel to publish + $this->define('LBRY_POST_CHANNEL', '_lbry_post_pub_channel'); // The meta key for which channel to publish + $this->define('LBRY_POST_LICENSE', '_lbry_post_pub_license'); // The meta key for which license to publish on $this->define('LBRY_CLAIM_ID', '_lbry_claim_id'); // The Claim ID for the post as it was published on LBRY $this->define('LBRY_CANONICAL_URL', '_lbry_canonical_url'); // The canonical url for the published lbry post $this->define('LBRY_SPEECH_ASSET_URL', 'speech_asset_url'); // The meta key for an asset's speech url @@ -127,11 +130,11 @@ class LBRYPress /** * Autoloader Registration */ - private function lbry_autoload_register($class) + private function lbry_autoload_register( $class ) { $file_name = LBRY_ABSPATH . 'classes/' . $class . '.php'; - if (file_exists($file_name)) { + if ( file_exists( $file_name ) ) { require $file_name; return; } @@ -146,7 +149,7 @@ class LBRYPress $this->speech = new LBRY_Speech(); // Admin request - if (is_admin()) { + if ( is_admin() ) { $this->admin = new LBRY_Admin(); $this->notice = new LBRY_Admin_Notice(); $this->network = new LBRY_Network(); @@ -158,15 +161,15 @@ class LBRYPress */ private function init_hooks() { - register_activation_hook(LBRY_PLUGIN_FILE, array($this, 'activate')); - register_deactivation_hook(LBRY_PLUGIN_FILE, array($this, 'deactivate')); + register_activation_hook( LBRY_PLUGIN_FILE, array( $this, 'activate' ) ); + register_deactivation_hook( LBRY_PLUGIN_FILE, array( $this, 'deactivate' ) ); // Banner output for published posts // NOTE: move this to its own class to reduce clutter? - add_action('the_content', array($this, 'published_on_lbry_banner'), 12, 1); + add_action( 'the_content', array( $this, 'published_on_lbry_banner' ), 12, 1 ); - add_action('wp_enqueue_scripts', function () { - wp_enqueue_style('lbry-css', plugins_url('/frontend/lbry.css', LBRY_PLUGIN_FILE)); + add_action( 'wp_enqueue_scripts', function () { + wp_enqueue_style( 'lbry-css', plugins_url( '/frontend/lbry.css', LBRY_PLUGIN_FILE ) ); }); } @@ -178,16 +181,28 @@ class LBRYPress // TODO: Make sure errors are thrown if daemon can't be contacted, stop activation // Add options to the options table we need - if (! get_option(LBRY_SETTINGS)) { + if (! get_option( LBRY_SETTINGS ) ) { - // Default options + //Default options $option_defaults = array( - LBRY_SPEECH => null, - LBRY_LICENSE => $this->licenses[0], - LBRY_LBC_PUBLISH => 1 + LBRY_WALLET => '', + 'lbry_default_publish_setting' => '', + 'default_lbry_channel' => '', + LBRY_LICENSE => '', + LBRY_LBC_PUBLISH => 0.001, ); - add_option(LBRY_SETTINGS, $option_defaults, false); + add_option( LBRY_SETTINGS, $option_defaults, false ); + } + + if ( ! get_option( LBRY_SPEECH_SETTINGS ) ) { + // Default Speech Settings + $option_defaults = array( + LBRY_SPEECH =>'', + LBRY_SPEECH_CHANNEL => '', + LBRY_SPEECH_PW => '', + ); + add_option( LBRY_SPEECH_SETTINGS, $option_defaults, false ); } // COMBAK: decide if we need to check for missing or corrupt settings. May be unecessary. @@ -208,26 +223,26 @@ class LBRYPress public function deactivate() { // TODO: Stop the daemon - error_log('Deactivated LBRYPress'); + error_log( 'Deactivated LBRYPress' ); } public function published_on_lbry_banner($content) { - if (!is_single() || !in_the_loop() || !is_main_query()) { + if ( ! is_single() || ! in_the_loop() || ! is_main_query() ) { return $content; } global $post; - if ($post->post_type != 'post') { + if ( $post->post_type != 'post' ) { return $content; } - if (!get_post_meta($post->ID, LBRY_WILL_PUBLISH, true)) { + if ( ! get_post_meta( $post->ID, LBRY_WILL_PUBLISH, true ) ) { return $content; } ob_start(); - require(LBRY_ABSPATH . 'templates/published_on_lbry_banner.php'); + require( LBRY_ABSPATH . 'templates/published_on_lbry_banner.php' ); $banner = ob_get_clean(); return $content .= $banner; diff --git a/classes/LBRY_Admin.php b/classes/LBRY_Admin.php index 23c5303..a5e5e21 100644 --- a/classes/LBRY_Admin.php +++ b/classes/LBRY_Admin.php @@ -4,6 +4,7 @@ * * @package LBRYPress */ +defined('ABSPATH') || die(); // Exit if accessed directly class LBRY_Admin { @@ -25,14 +26,56 @@ class LBRY_Admin */ public function create_options_page() { - add_menu_page( - __('LBRYPress Settings', 'lbrypress'), - __('LBRYPress', 'lbrypress'), - 'manage_options', - LBRY_ADMIN_PAGE, - array($this, 'options_page_html'), - plugin_dir_url(LBRY_PLUGIN_FILE) . '/admin/images/lbry-logo.svg' - ); + + $hook_suffix = add_menu_page( + __( 'LBRYPress Settings', 'lbrypress' ), + __( 'LBRYPress', 'lbrypress' ), + 'manage_options', + LBRY_ADMIN_PAGE, + array( $this, 'options_page_html' ), + plugin_dir_url( LBRY_PLUGIN_FILE ) . '/admin/images/lbry-icon.png' + ); + + // Admin stylesheet enqueue + function load_admin_stylesheet( $hook ) { + + if ( ( $hook == 'post.php' ) || ( $hook == 'post-new.php' ) || ( $_GET['page'] == 'lbrypress' ) ) { + wp_enqueue_style( + 'lbry-admin', + plugins_url( '/admin/css/lbry-admin.css', LBRY_PLUGIN_FILE ), + array(), + LBRY_VERSION, + 'all' + ); + } + } + add_action( 'admin_enqueue_scripts', 'load_admin_stylesheet' ); + + // Admin Error Notices + function lbry_plugin_not_configured_notice() { + echo "

LBRYPress plugin is not configured yet. Please do it now.

\n"; + } + $lbry_wallet = get_option('lbry_wallet'); + if ( ! isset($lbry_wallet) ) { + add_action( 'admin_notices', 'lbry_plugin_not_configured_notice' ); + } + function admin_permission_check() { + if ( ! current_user_can( 'manage_options' ) ) { + wp_die( __( 'You do not have sufficient permissions to access this page.' ) ); + } + } + } + + /** + * Returns the Options Page HTML for the plugin + */ + public function options_page_html() { + //$LBRY = LBRY(); + // Set class properties to be referenced in callbacks + $this->options = get_option( LBRY_SETTINGS ); + //$this->options_channel = get_option( 'lbry_channel_settings' ); + $this->options_speech = get_option( LBRY_SPEECH_SETTINGS ); + require_once( LBRY_ABSPATH . 'templates/options-page.php' ); } /** @@ -41,13 +84,17 @@ class LBRY_Admin public function page_init() { // Register the LBRY Setting array - register_setting(LBRY_SETTINGS_GROUP, LBRY_SETTINGS, array('sanitize_callback' => array($this, 'sanitize'))); + register_setting( + 'lbry_general_settings', + LBRY_SETTINGS, + array( $this, 'sanitize_general_settings' ) + ); // Add Required Settings Sections add_settings_section( LBRY_SETTINGS_SECTION_GENERAL, // ID 'General Settings', // Title - array( $this, 'general_section_info' ), // Callback + array( $this, 'general_section_callback' ), // Callback LBRY_ADMIN_PAGE // Page ); @@ -59,35 +106,43 @@ class LBRY_Admin LBRY_ADMIN_PAGE, LBRY_SETTINGS_SECTION_GENERAL ); - +// remove from commit: add_settings_field( - LBRY_SPEECH, - 'Spee.ch URL', - array( $this, 'speech_callback' ), + 'lbry_default_publish_setting', + 'Always Publish to LBRY', + array( $this, 'lbry_always_pub_callback' ), LBRY_ADMIN_PAGE, LBRY_SETTINGS_SECTION_GENERAL ); add_settings_field( - LBRY_SPEECH_CHANNEL, - 'Spee.ch Channel', - array( $this, 'speech_channel_callback' ), + 'lbry_default_publish_setting', + 'Always Publish to LBRY', + array( $this, 'lbry_always_pub_callback' ), LBRY_ADMIN_PAGE, LBRY_SETTINGS_SECTION_GENERAL ); add_settings_field( - LBRY_SPEECH_PW, - 'Spee.ch Password', - array( $this, 'speech_pw_callback' ), + 'default_lbry_channel', + 'Default Publish Channel', + array( $this, 'default_channel_callback' ), + LBRY_ADMIN_PAGE, + LBRY_SETTINGS_SECTION_GENERAL + ); +// remove from commit: + add_settings_field( + 'lbry_default_publish_setting', + 'Always Publish to LBRY', + array( $this, 'lbry_always_pub_callback' ), LBRY_ADMIN_PAGE, LBRY_SETTINGS_SECTION_GENERAL ); add_settings_field( - LBRY_LICENSE, - 'LBRY Publishing License', - array( $this, 'license_callback' ), + 'lbry_default_publish_setting', + 'Always Publish to LBRY', + array( $this, 'lbry_always_pub_callback' ), LBRY_ADMIN_PAGE, LBRY_SETTINGS_SECTION_GENERAL ); @@ -95,55 +150,147 @@ class LBRY_Admin add_settings_field( LBRY_LBC_PUBLISH, 'LBC Per Publish', - array( $this, 'lbc_publish_callback' ), + array( $this, 'lbc_per_publish_callback' ), LBRY_ADMIN_PAGE, LBRY_SETTINGS_SECTION_GENERAL ); - } - /** - * Returns the Options Page HTML for the plugin - */ - public function options_page_html() - { - // Set class property to be referenced in callbacks - $this->options = get_option(LBRY_SETTINGS); - require_once(LBRY_ABSPATH . 'templates/options_page.php'); + /** + * Channel Page Settings + * We are using a custom page so that we can use the admin-post action and retrieve the $_POST + * global variable to populate the cURL request to create_channel, not saving the inputs to + * our database. + */ + + + /** + * Speech Admin Page settings + */ + + register_setting( + LBRY_SPEECH_SETTINGS, + LBRY_SPEECH_SETTINGS, + array( $this, 'sanitize_speech_settings' ) + ); + + add_settings_section( + 'lbry_settings_section_speech', // ID + 'Spee.ch Channel Settings', // Title + array( $this, 'speech_section_callback' ), // Callback + 'lbrypress-speech' // Page + ); + + add_settings_field( + LBRY_SPEECH, + 'Spee.ch URL', + array( $this, 'speech_callback' ), + 'lbrypress-speech', + 'lbry_settings_section_speech' + ); + + add_settings_field( + LBRY_SPEECH_CHANNEL, + 'Spee.ch Channel', + array( $this, 'speech_channel_callback' ), + 'lbrypress-speech', + 'lbry_settings_section_speech' + ); + + add_settings_field( + LBRY_SPEECH_PW, + 'Spee.ch Password', + array( $this, 'speech_pw_callback' ), + 'lbrypress-speech', + 'lbry_settings_section_speech' + ); } /** * Sanitizes setting input * // COMBAK Potentially sanitize more */ - public function sanitize($input) + + public function sanitize_general_settings( $input ) { - if (!empty($input[LBRY_SPEECH_CHANNEL])) { + $new_input = get_option( LBRY_SETTINGS ); // get saved data + + if ( isset( $input[LBRY_WALLET] ) ) { + $new_input[LBRY_WALLET] = sanitize_text_field( $input[LBRY_WALLET] ); + } + $new_input['lbry_default_publish_setting'] = $input['lbry_default_publish_setting']; + + if ( isset( $input['default_lbry_channel'] ) ) { + $new_input['default_lbry_channel'] = sanitize_text_field( $input['default_lbry_channel'] ); + } + $license_array = LBRY()->licenses; + if ( isset( $input[LBRY_LICENSE] ) && ( in_array( $input[LBRY_LICENSE], $license_array ) ) ) { + $new_input[LBRY_LICENSE] = sanitize_text_field( $input[LBRY_LICENSE] ); + } + if ( isset( $input[LBRY_LBC_PUBLISH] ) ) { + $new_input[LBRY_LBC_PUBLISH] = number_format( floatval( $input[LBRY_LBC_PUBLISH] ), 3, '.', '' ); + } + return $new_input; + } + + public function sanitize_speech_settings( $input ) + { + $new_input = get_option( LBRY_SPEECH_SETTINGS ); + if ( isset( $input[LBRY_SPEECH] ) ) { + $new_input[LBRY_SPEECH] = sanitize_text_field( $input[LBRY_SPEECH] ); + } + if ( isset( $input[LBRY_SPEECH_CHANNEL] ) ) { $channel = $input[LBRY_SPEECH_CHANNEL]; - $channel = str_replace('@', '', $channel); - $input[LBRY_SPEECH_CHANNEL] = $channel; + $channel = str_replace( '@', '', $channel ); + $new_input[LBRY_SPEECH_CHANNEL] = sanitize_user( $channel ); } - - if (!empty($input[LBRY_SPEECH_PW])) { - $encrypted = $this->encrypt($input['lbry_speech_pw']); - $input[LBRY_SPEECH_PW] = $encrypted; - } else { - // If we have a password and its empty, keep orginal password - if (!empty(get_option(LBRY_SETTINGS)[LBRY_SPEECH_PW])) { - $input[LBRY_SPEECH_PW] = get_option(LBRY_SETTINGS)[LBRY_SPEECH_PW]; - } + if ( isset( $input[LBRY_SPEECH_PW] ) ) { + $input[LBRY_SPEECH_PW] = sanitize_text_field( $input[LBRY_SPEECH_PW] ); + $encrypted = $this->encrypt( $input[LBRY_SPEECH_PW] ); + $new_input[LBRY_SPEECH_PW] = $encrypted; + } else { + // If we have a password and it's empty, keep original password + if ( empty( $input[LBRY_SPEECH_PW] ) ) + $new_input[LBRY_SPEECH_PW] = get_option( LBRY_SPEECH_SETTINGS[LBRY_SPEECH_PW] ); } - - return $input; + return $new_input; + update_option( LBRY_SPEECH_SETTINGS, $new_input ); } /** * Section info for the General Section */ - public function general_section_info() + public function general_section_callback() { print 'This is where you can configure how LBRYPress will distribute your content:'; } + /** + * Section info for the Available Channel(s) Section + */ + public function available_channels_callback() + { + $channel_list = LBRY()->daemon->channel_list(); + + if ( $channel_list ) { ?> +
    + +
  • name ) ?>
  • + +
+ +

Looks like you haven't added any channels yet, feel free to do so below:

+ daemon->address_list(); - $address = is_array($address) && !empty($address) ? $address[0]->address : ''; + $address = is_array( $address ) && ! empty( $address ) ? $address[0]->address : ''; printf( - '', + '', LBRY_WALLET, LBRY_SETTINGS, $address ); } - +// remove from commit: /** - * Prints Spee.ch input - */ - public function speech_callback() + * Checkbox to default to always allow publish on LBRY + */ + public function lbry_always_pub_callback() { + $options = get_option( LBRY_SETTINGS )['lbry_default_publish_setting']; + if ( ! isset( $options ) ) { + $options = 0; + } + $checked = checked( $options, 1, false ); printf( - '', - LBRY_SPEECH, - LBRY_SETTINGS, - isset($this->options[LBRY_SPEECH]) ? esc_attr($this->options[LBRY_SPEECH]) : '' + '

Set Default to always Publish to LBRY, this can be adjusted when publishing a New Post.

', + 'lbry_default_publish_setting', + LBRY_SETTINGS, + ); } - + /** - * Prints Spee.ch channel input - */ - public function speech_channel_callback() + * Prints select to choose a default to publish to channel + */ + public function default_channel_callback() { - printf( - '@', - LBRY_SPEECH_CHANNEL, - LBRY_SETTINGS, - isset($this->options[LBRY_SPEECH_CHANNEL]) ? esc_attr($this->options[LBRY_SPEECH_CHANNEL]) : '' - ); - } + $options = ''; + $channel_list = LBRY()->daemon->channel_list(); - /** - * Prints Spee.ch password input - */ - public function speech_pw_callback() - { - printf( - 'options['default_lbry_channel'] === $channel->name; + + $options .= ''; + } + + printf( + '', + 'default_lbry_channel', + LBRY_SETTINGS, + $options + ); + } else { ?> +

Looks like you haven't added any channels yet, you can do that now on the Channels Tab

+ licenses as $value => $name) { + foreach ( LBRY()->licenses as $value => $name ) { $selected = $this->options[LBRY_LICENSE] === $value; $options .= '