瀏覽代碼

Bumped version to 0.0.54

Jannick Knudsen 4 年之前
父節點
當前提交
d0838f3711
共有 6 個文件被更改,包括 106 次插入66 次删除
  1. 1 1
      VERSION
  2. 1 0
      VERSIONLOG
  3. 1 1
      package.json
  4. 52 60
      plug_adminusers.php
  5. 49 2
      plug_woohook.php
  6. 2 2
      plugin.php

+ 1 - 1
VERSION

@@ -1 +1 @@
-v0.0.53
+v0.0.54

+ 1 - 0
VERSIONLOG

@@ -52,3 +52,4 @@ v0.0.50
 v0.0.51
 v0.0.52
 v0.0.53
+v0.0.54

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "dagsplug",
-  "version": "0.0.53",
+  "version": "0.0.54",
   "description": "",
   "main": "script_backend.js",
   "scripts": {

+ 52 - 60
plug_adminusers.php

@@ -49,8 +49,6 @@ if (!class_exists("plug_adminusers")) {
 			$defaults['imel-login-userfield'] = __('Ældste Session', 'login-column');
 			$defaults['imel-login2-userfield'] = __('Nyeste Session', 'login2-column');
 
-			$defaults['abostatus'] = __('Abo Status', 'id-column');
-
 			$defaults['proselect'] = __('Pro/Select', 'user-column');
 			$defaults['gruppe'] = __('Gruppe', 'id-column');
 			$defaults['imel-navn-userfield'] = __('Navn', 'navn-column');
@@ -61,66 +59,8 @@ if (!class_exists("plug_adminusers")) {
 
 		}
 
-		function user_sortable_columns($columns) {
-			$columns['session'] = 'session';
-			$columns['id'] = 'id';
-			$columns['gruppe'] = 'gruppe';
-			$columns['proselect'] = 'proselect';
-			$columns['lastlogin'] = 'lastlogin';
-			$columns['lastview'] = 'lastview';
-			return $columns;
-		}
-
-		function my_user_query($userquery) {
-			if ('session' == $userquery->query_vars['orderby']) {
-				global $wpdb;
-				$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias
-				$userquery->query_where .= " AND alias.meta_key = 'session_tokens' "; //which meta are we sorting with?
-				$userquery->query_orderby = " ORDER BY length(alias.meta_value) " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order
-			}
-
-			if ('proselect' == $userquery->query_vars['orderby']) {
-				global $wpdb;
-				$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias
-				$userquery->query_where .= " AND alias.meta_key = 'Proselect' "; //which meta are we sorting with?
-				$userquery->query_orderby = " ORDER BY alias.meta_value " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order
-			}
-			if ('gruppe' == $userquery->query_vars['orderby']) {
-				global $wpdb;
-				$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias
-				$userquery->query_where .= " AND alias.meta_key = 'Gruppe' "; //which meta are we sorting with?
-				$userquery->query_orderby = " ORDER BY alias.meta_value " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order
-			}
-
-			if ('lastlogin' == $userquery->query_vars['orderby']) {
-				global $wpdb;
-				$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias
-				$userquery->query_where .= " AND alias.meta_key = 'last_login' "; //which meta are we sorting with?
-				$userquery->query_orderby = " ORDER BY alias.meta_value " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order
-			}
-			if ('lastview' == $userquery->query_vars['orderby']) {
-				global $wpdb;
-				$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias
-				$userquery->query_where .= " AND alias.meta_key = 'last_view' "; //which meta are we sorting with?
-				$userquery->query_orderby = " ORDER BY alias.meta_value " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order
-			}
-
-			if ('id' == $userquery->query_vars['orderby']) {
-				global $wpdb;
-				//$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias
-				//$userquery->query_where .= " AND alias.meta_key = 'session_tokens' "; //which meta are we sorting with?
-				$userquery->query_orderby = " ORDER BY ID " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order
-			}
-		}
-
 		function imel_custom_column_userfield($value, $column_name, $id) {
-			if ($column_name == 'abostatus') {
-				$s = get_user_meta($id, 'abo_status', true);
-				$s .= " " . get_user_meta($id, 'abo_statuscode', true);
-
-				return $s;
 
-			}
 			if ($column_name == 'lastlogin') {
 				$ss = get_user_meta($id, 'last_login', true);
 				if ($ss) {
@@ -210,6 +150,58 @@ if (!class_exists("plug_adminusers")) {
 			}
 		}
 
+		function user_sortable_columns($columns) {
+			$columns['session'] = 'session';
+			$columns['id'] = 'id';
+			$columns['gruppe'] = 'gruppe';
+			$columns['proselect'] = 'proselect';
+			$columns['lastlogin'] = 'lastlogin';
+			$columns['lastview'] = 'lastview';
+			return $columns;
+		}
+
+		function my_user_query($userquery) {
+			if ('session' == $userquery->query_vars['orderby']) {
+				global $wpdb;
+				$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias
+				$userquery->query_where .= " AND alias.meta_key = 'session_tokens' "; //which meta are we sorting with?
+				$userquery->query_orderby = " ORDER BY length(alias.meta_value) " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order
+			}
+
+			if ('proselect' == $userquery->query_vars['orderby']) {
+				global $wpdb;
+				$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias
+				$userquery->query_where .= " AND alias.meta_key = 'Proselect' "; //which meta are we sorting with?
+				$userquery->query_orderby = " ORDER BY alias.meta_value " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order
+			}
+			if ('gruppe' == $userquery->query_vars['orderby']) {
+				global $wpdb;
+				$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias
+				$userquery->query_where .= " AND alias.meta_key = 'Gruppe' "; //which meta are we sorting with?
+				$userquery->query_orderby = " ORDER BY alias.meta_value " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order
+			}
+
+			if ('lastlogin' == $userquery->query_vars['orderby']) {
+				global $wpdb;
+				$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias
+				$userquery->query_where .= " AND alias.meta_key = 'last_login' "; //which meta are we sorting with?
+				$userquery->query_orderby = " ORDER BY alias.meta_value " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order
+			}
+			if ('lastview' == $userquery->query_vars['orderby']) {
+				global $wpdb;
+				$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias
+				$userquery->query_where .= " AND alias.meta_key = 'last_view' "; //which meta are we sorting with?
+				$userquery->query_orderby = " ORDER BY alias.meta_value " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order
+			}
+
+			if ('id' == $userquery->query_vars['orderby']) {
+				global $wpdb;
+				//$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias
+				//$userquery->query_where .= " AND alias.meta_key = 'session_tokens' "; //which meta are we sorting with?
+				$userquery->query_orderby = " ORDER BY ID " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order
+			}
+		}
+
 	}
 
 	global $plug_adminusers;

+ 49 - 2
plug_woohook.php

@@ -27,6 +27,33 @@ if (!class_exists("plug_wookook")) {
 			add_role("suspenderet-abonnent", "Suspenderet abonnent", array('read' => true, 'level_0' => false));
 			add_role("betalende-abonnent", "Betalende abonnent", array('read' => true, 'level_0' => true));
 
+			add_action('manage_users_custom_column', array(&$this, 'imel_custom_column_userfield'), 15, 3);
+			add_filter('manage_users_columns', array(&$this, 'imel_column_userfield'), 15, 1);
+
+		}
+
+		function imel_column_userfield($defaults) {
+
+			$defaults['abostatus'] = __('Abo Status', 'id-column');
+			$defaults['aboproduct'] = __('Abo Product', 'id-column');
+			return $defaults;
+
+		}
+
+		function imel_custom_column_userfield($value, $column_name, $id) {
+			if ($column_name == 'aboproduct') {
+
+				$burl = get_option($this->pluginname . "_woohook_baseurl_order");
+				$pid = get_user_meta($id, 'abo_prod', true);
+
+				$s = '<a href="' . $burl . '' . $pid . '">' . $pid . '</a>';
+				return $s;
+			}
+			if ($column_name == 'abostatus') {
+				$s = get_user_meta($id, 'abo_status', true);
+				$s .= " " . get_user_meta($id, 'abo_statuscode', true);
+				return $s;
+			}
 		}
 
 		function xx__update_custom_roles() {
@@ -40,6 +67,13 @@ if (!class_exists("plug_wookook")) {
 		function header() {
 
 			if (isset($_REQUEST['woohook'])) {
+				$hh = apache_request_headers();
+				if (isset($hh["X-WC-Webhook-Source"])) {
+					$shopurl = $hh["X-WC-Webhook-Source"];
+				} else {
+					$shopurl = null;
+				}
+
 				$thecode = get_option($this->pluginname . "_wookook_code", false);
 				$exitrole = trim(get_option($this->pluginname . "_wookook_exitrole", false));
 
@@ -73,6 +107,7 @@ if (!class_exists("plug_wookook")) {
 							if (isset($itemroles["" . $line['product_id']])) {
 								$found = true;
 								$therole = $itemroles["" . $line['product_id']];
+								$theproduct = $line['product_id'];
 							}
 						}
 
@@ -131,9 +166,10 @@ if (!class_exists("plug_wookook")) {
 
 							update_user_meta($user_id, 'abo_status', "ACTIVE");
 							update_user_meta($user_id, 'abo_statuscode', $order['id']);
+							update_user_meta($user_id, 'abo_prod', $theproduct);
 
 							wp_send_new_user_notifications($user_id, 'both');
-							$resu[] = "CREATED: " . $order['status'] . " $active $user_id or $user_email exists role > '$xrole'";
+							$resu[] = "CREATED: " . $order['status'] . " $active :: $theproduct :: $user_id or $user_email exists role > '$xrole'";
 
 						}
 					} else {
@@ -146,8 +182,9 @@ if (!class_exists("plug_wookook")) {
 
 						update_user_meta($user_id, 'abo_status', $active ? "ACTIVE" : "SUSPENDED");
 						update_user_meta($user_id, 'abo_statuscode', $order['id']);
+						update_user_meta($user_id, 'abo_prod', $theproduct);
 
-						$resu[] = "UPDATED: " . $order['status'] . " $active $user_id or $user_email exists role > '$xrole'";
+						$resu[] = "UPDATED: " . $order['status'] . " $active :: $theproduct :: $user_id or $user_email exists role > '$xrole'";
 					}
 					$aemail = get_bloginfo('admin_email');
 					$rr = wp_mail($aemail, 'CCR ' . count($resu) . " : " . getenv('HOSTNAME') . " : " . $_SERVER['REMOTE_ADDR'] . " : " . $_SERVER['SERVER_ADDR'] . " : " . $_SERVER['SERVER_NAME'] . " " . date("U"), "::" . print_r($resu, true));
@@ -176,11 +213,21 @@ if (!class_exists("plug_wookook")) {
 
 			update_option($pre . '_item_roles', $_POST[$pre . '_item_roles']);
 
+			update_option($pre . '_baseurl_product', $_POST[$pre . '_baseurl_product']);
+			update_option($pre . '_baseurl_order', $_POST[$pre . '_baseurl_order']);
+
 		}
 
 		function admin_line($pre) {
 
 			?>
+<?php echo (__("Shop baseurl products:", "dagsopt")) ?><br>
+ 				<input name="<?php echo ($pre . '_baseurl_product'); ?>"  value="<?php echo (stripcslashes(get_option($pre . "_baseurl_product"))); ?>">
+<?php echo (__("Shop baseurl orders:", "dagsopt")) ?><br>
+ 				<input name="<?php echo ($pre . '_baseurl_order'); ?>"  value="<?php echo (stripcslashes(get_option($pre . "_baseurl_order"))); ?>">
+
+
+
 <?php echo (__("Itemnumber1 ... ItemnumberN > Role:", "dagsopt")) ?><br>
  				<textarea name="<?php echo ($pre . '_item_roles'); ?>" rows="7" class="large-text code"><?php echo (stripcslashes(get_option($pre . "_item_roles"))); ?></textarea>
 

+ 2 - 2
plugin.php

@@ -4,7 +4,7 @@ Plugin Name: dagsopt
 Plugin URI: https://git.tum.dk/tum.dk/dagsplug/
 Description: Tools
 Author: iskedk
-Version: 0.0.53
+Version: 0.0.54
 Date: 2021-01-14
 Author URI: https://iske.dk/
 Text Domain: dagsopt
@@ -17,7 +17,7 @@ function wppluginspage() {
 $wp_dagsopt = new dagsopt();
 
 class dagsopt {
-	var $version = "0.0.53";
+	var $version = "0.0.54";
 	var $publish_date = "2021-01-14";
 	var $pluginname;
 	var $plugintitle;