5, // 'display' => esc_html__('Every Five Seconds'), // ); // // return $schedules; // } // if (! wp_next_scheduled('lbry_wallet_balance_hook')) { // error_log('scheduling'); // wp_schedule_event(time(), 'five_seconds', 'lbry_wallet_balance_hook'); // } add_action('lbry_wallet_balance_hook', array($this, 'wallet_balance_cron')); error_log(print_r(_get_cron_array(), true)); do_action('lbry_wallet_balance_hook', array(LBRY())); error_log('next: ' . wp_next_scheduled('lbry_wallet_balance_hook')); } /** * Creates the options page in the WP admin interface */ public function create_options_page() { add_options_page( __('LBRYPress Settings', 'lbrypress'), __('LBRYPress', 'lbrypress'), 'manage_options', LBRY_ADMIN_PAGE, array($this, 'options_page_html') ); } /** * Registers all settings for the plugin */ public function page_init() { // Register the LBRY Setting array register_setting(LBRY_SETTINGS_GROUP, LBRY_SETTINGS, array($this, 'sanitize')); // Add Required Settings Sections add_settings_section( LBRY_SETTINGS_SECTION_GENERAL, // ID 'General Settings', // Title array( $this, 'general_section_info' ), // Callback LBRY_ADMIN_PAGE // Page ); // Add all settings fields add_settings_field( LBRY_WALLET, 'LBRY Wallet Address', array( $this, 'wallet_callback' ), LBRY_ADMIN_PAGE, LBRY_SETTINGS_SECTION_GENERAL ); add_settings_field( LBRY_SPEECH, // ID 'Spee.ch URL', // Title array( $this, 'speech_callback' ), // Callback LBRY_ADMIN_PAGE, // Page LBRY_SETTINGS_SECTION_GENERAL // Section ); add_settings_field( LBRY_LICENSE, 'LBRY Publishing License', array( $this, 'license_callback' ), LBRY_ADMIN_PAGE, LBRY_SETTINGS_SECTION_GENERAL ); add_settings_field( LBRY_LBC_PUBLISH, 'LBC Per Publish', array( $this, 'lbc_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'); } /** * Sanitizes setting input * // TODO Actually sanitize the input */ public function sanitize($input) { return $input; } /** * Section info for the General Section */ public function general_section_info() { print 'This is where you can configure how LBRYPress will distribute your content:'; } /** * Prints Wallet input */ public function wallet_callback() { printf( '', LBRY_WALLET, LBRY_SETTINGS, isset($this->options[LBRY_WALLET]) ? esc_attr($this->options[LBRY_WALLET]) : '' ); } /** * Prints Spee.ch input */ public function speech_callback() { printf( '', LBRY_SPEECH, LBRY_SETTINGS, isset($this->options[LBRY_SPEECH]) ? esc_attr($this->options[LBRY_SPEECH]) : '' ); } /** * Prints License input */ public function license_callback() { // TODO: Maybe make this more elegant? $options = ''; // Create options list, select current license foreach (LBRY_AVAILABLE_LICENSES as $value => $name) { $selected = $this->options[LBRY_LICENSE] === $value; $options .= '