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 .= '