diff --git a/ordernumbers_woocommerce.php b/ordernumbers_woocommerce.php
index 6720137eb2e20ef1ee16e4dad36e276413b5305f..9afb298002b0b520074993cfcbec3ececa7d2f0f 100644
--- a/ordernumbers_woocommerce.php
+++ b/ordernumbers_woocommerce.php
@@ -330,7 +330,7 @@ class OpenToolsOrdernumbers extends OpenToolsOrdernumbersBasic {
}
function thirdparty_get_invoicenumber($default, $orderid) {
- if (get_option('customize_invoice', 'no')!='no') {
+ if ($this->invoicenumbers_activated()) {
$_of = new WC_Order_Factory();
$order = $_of->get_order($orderid);
$number = $this->get_or_create_number($orderid, $order, 'invoice');
@@ -381,7 +381,7 @@ class OpenToolsOrdernumbers extends OpenToolsOrdernumbersBasic {
* The action to actually create the number and store it as post meta with the order
*/
function thirdparty_wpo_wcpdf_create_number($type, $orderid) {
- if ($type=='invoice' && (get_option('customize_'.$type, 'no')!='no') ) {
+ if ($type=='invoice' && $this->invoicenumbers_activated() ) {
$_of = new WC_Order_Factory();
$order = $_of->get_order($orderid);
$number = $this->get_or_create_number($orderid, $order, $type);
@@ -398,11 +398,12 @@ class OpenToolsOrdernumbers extends OpenToolsOrdernumbersBasic {
*/
function thirdparty_wpo_wcpdf_remove_options() {
global $wp_settings_fields;
- if (get_option('customize_invoice', 'no')!='no') {
+ if ($this->invoicenumbers_activated()) {
$wp_settings_fields['wpo_wcpdf_template_settings']['invoice']['display_number']['title'] = $this->helper->__('Display invoice number');
$wp_settings_fields['wpo_wcpdf_template_settings']['invoice']['display_number']['args']['description'] = $this->helper->__('The Open Tools Ordernumber plugin has invoice numbers enabled and will generate invoice numbers for this plugin.' );
unset($wp_settings_fields['wpo_wcpdf_template_settings']['invoice']['next_invoice_number']);
unset($wp_settings_fields['wpo_wcpdf_template_settings']['invoice']['invoice_number_formatting']);
+ unset($wp_settings_fields['wpo_wcpdf_template_settings']['invoice']['yearly_reset_invoice_number']);
} else {
$wp_settings_fields['wpo_wcpdf_template_settings']['invoice']['display_number']['args']['description'] = $this->helper->__('To let the Open Tools ordernumber plugin create invoice numbers with your desired format, please enable invoices in that plugin\'s configuration page.' );
}
@@ -430,7 +431,7 @@ class OpenToolsOrdernumbers extends OpenToolsOrdernumbersBasic {
// TODO: Modify the invoice number section text to hint at the installed order number plugin and how to enable it!
global $wp_settings_fields;
return;
- if (get_option('customize_invoice', 'no')!='no') {
+ if ($this->invoicenumbers_activated()) {
// bewpi_template_settings -> invoice_number ->
// -) bewpi_invoice_number_type
// -) bewpi_reset_counter
diff --git a/ordernumbers_woocommerce_basic.php b/ordernumbers_woocommerce_basic.php
index 0189c4c494534c3aeed1866234d610bfd3f7d6f3..d7bd24437e3cd103d0732d73799d1ae186387308 100644
--- a/ordernumbers_woocommerce_basic.php
+++ b/ordernumbers_woocommerce_basic.php
@@ -18,6 +18,11 @@ class OpenToolsOrdernumbersBasic {
public $ordernumber_meta = "_oton_number_";
public $ordernumber_new_placeholder = "[New Order]";
public $plugin_basename = '';
+ public $plugin_config_link = 'admin.php?page=wc-settings&tab=checkout§ion=ordernumber';
+ public $plugin_url = 'https://wordpress.org/plugins/woocommerce-basic-ordernumbers/';
+ public $plugin_url_advanced = 'http://open-tools.net/woocommerce/advanced-ordernumbers-for-woocommerce.html';
+ public $plugin_url_docs = 'http://open-tools.net/documentation/advanced-order-numbers-for-woocommerce.html';
+ public $plugin_url_support = 'http://open-tools.net/support-forum/ordernumbers-for-woocommerce.html';
protected $helper = null;
protected $settings = array();
@@ -51,6 +56,15 @@ class OpenToolsOrdernumbersBasic {
*/
protected function initializeHooks() {
$helper = OrdernumberHelperWooCommerce::getHelper();
+ // Information for other plugins
+ add_filter( 'opentools_ordernumbers_activated', array( &$this, 'ordernumbers_activated'));
+ add_filter( 'opentools_invoicenumbers_activated', array( &$this, 'invoicenumbers_activated'));
+ add_filter ('woocommerce_invoice_number_by_plugin', array( &$this, 'invoicenumbers_activated'));
+ add_filter ('woocommerce_order_number_by_plugin', array( &$this, 'ordernumbers_activated'));
+ add_filter ('woocommerce_invoice_number_configuration_link', array( &$this, 'invoicenumbers_config_link'));
+ add_filter ('woocommerce_order_number_configuration_link', array( &$this, 'ordernumbers_config_link'));
+
+
// CONFIGURATION SCREENS
add_filter( 'woocommerce_get_sections_checkout', array( &$this, 'add_admin_section'));
// The checkout settings page assumes all subpages are payment gateways, so we have to override this and manually pass our settings:
@@ -107,7 +121,7 @@ class OpenToolsOrdernumbersBasic {
'desc_tip' => true,
'id' => 'opentools_ordernumbers_upgrade',
'type' => 'opentools_ordernumbers_upgrade',
- 'link' => 'http://open-tools.net/woocommerce/advanced-ordernumbers-for-woocommerce.html',
+ 'link' => $this->plugin_url_advanced,
),
);
return $settings;
@@ -116,7 +130,7 @@ class OpenToolsOrdernumbersBasic {
$settings = array();
$settings[] = array(
'name' => $this->helper->__( 'Configure Order Numbers'),
- 'desc' => $this->helper->__( 'Configure the format and the counters of the order numbers in WooCommerce. For help, check out the plugin\'s documentation at OpenTools.'),
+ 'desc' => sprintf( $this->helper->__( 'Configure the format and the counters of the order numbers in WooCommerce. For help, check out the plugin\'s documentation at OpenTools.'), esc_attr($this->plugin_url_docs)),
'type' => 'title',
'id' => 'ordernumber_options'
);
@@ -166,12 +180,42 @@ class OpenToolsOrdernumbersBasic {
protected function initializeSettingsOther() {
return array();
}
+
+
+ /**
+ * Filters for other plugins to get information about this one, e.g.
+ * indicating whether invoice/order numbers are to be created by this plugin
+ * and getting the link to the configuration page.
+ */
+
+ public function numbers_activated($type) {
+ return (get_option('customize_'.$type, 'no')!='no');
+ }
+ public function ordernumbers_activated($default=false) {
+ return $this->numbers_activated('ordernumber');
+ }
+ public function invoicenumbers_activated($default=false) {
+ return $this->numbers_activated('invoice');
+ }
+
+ public function invoicenumbers_config_link($default=null) {
+// if ($this->invoicenumbers_activated())
+ return $this->plugin_config_link;
+// else
+// return $default;
+ }
+ public function ordernumbers_config_link($default=null) {
+// if ($this->invoicenumbers_activated())
+ return $this->plugin_config_link;
+// else
+// return $default;
+ }
/**
* Add settings link to plugins page
*/
public function ordernumber_add_settings_link( $links ) {
- $link = ''. $this->helper->__( 'Settings' ) . '';
+ $link = ''. $this->helper->__( 'Settings' ) . '';
// Prepend the settings link:
array_unshift( $links, $link );
// $links['settings'] = $link;
@@ -179,15 +223,15 @@ class OpenToolsOrdernumbersBasic {
}
public function ordernumber_plugin_row_meta( $links, $file ) {
if ($file==$this->plugin_basename) {
- $links['docs'] = '' . $this->helper->__( 'Plugin Documentation' ) . '';
- $links['support'] = '' . $this->helper->__( 'Support Forum' ) . '';
+ $links['docs'] = '' . $this->helper->__( 'Plugin Documentation' ) . '';
+ $links['support'] = '' . $this->helper->__( 'Support Forum' ) . '';
}
return (array)$links;
}
public function basic_ordernumber_plugin_row_meta( $links, $file ) {
if ($file==$this->plugin_basename && !$this->is_advanced) {
- $links['advanced'] = '' . $this->helper->__('Purchase Advanced Version') . '';
+ $links['advanced'] = '' . $this->helper->__('Purchase Advanced Version') . '';
}
return (array)$links;
}
@@ -383,7 +427,7 @@ class OpenToolsOrdernumbersBasic {
}
function generateNumber($orderid, $order, $type='ordernumber') {
- if (get_option('customize_'.$type, 'no')!='no') {
+ if ($this->numbers_activated($type)) {
$fmt = get_option ($type.'_format', "#");
$ctrsettings = array(
"${type}_format" => '',