/**
* Convert user's local time to UTC time
*/
function dateTime_local_to_utc($time, $timezone, $abbr = false) {
//target time zone
if ($abbr) {
$t = timeStandardToTimeZone($timezone);
$timezone = $t['timezone_id'];
}
$userTimezone = new DateTimeZone($timezone);
$userTime = new DateTime('now', $userTimezone);
// time in seconds, based on UTC
$offset = $userTime->getOffset();
// get server timeZone first
$server_timezone = date_default_timezone_get();
// set server timeZone provided via user
date_default_timezone_set($timezone);
// get UTC time
$time = date('Y-m-d H:i:s', strtotime($time) - $offset);
// now set server timeZone default
date_default_timezone_set($server_timezone);
return $time;
}
if (!function_exists('timeStandardToTimeZone')) {
function timeStandardToTimeZone($ts)
{
$timezone_abbreviations = DateTimeZone::listAbbreviations();
if (!empty($timezone_abbreviations[strtolower($ts)])) {
return $timezone_abbreviations[strtolower($ts)][0];
}
return $ts;
}
}
Tuesday, April 14, 2020
Convert user time to UTC time
Thursday, April 2, 2020
Add Cookies Alert with AngularJs
Html code
<div class="cookieinfo-flag" data-ng-if="cookie_flag" style="background: #ea5031; bottom: 0px; color: white; font-family: "verdana", "arial", sans-serif; font-size: 14px; height: auto; left: 0px; line-height: 21px; min-height: 21px; opacity: 1; padding: 8px 18px; right: 0px; text-align: left; z-index: 2147483647;"> <div class="cookieinfo-close" data-ng-click="setCookieFlag()" style="background: #f1d600; border-radius: 5px; color: black; cursor: pointer; display: block; float: right; margin-left: 5px; min-width: 100px; padding: 5px 8px; text-align: center;">Got it!</div> >span style="display: block; padding: 5px 0 5px 0;">We use cookies to enhance your experience. By continuing to visit this site you agree to our use of cookies. <a href="https://wikipedia.org/wiki/HTTP_cookie/#" style="color: #f1d600; text-decoration: none;">More info</a></span> </div>Angular js code
var app = angular.module("myApp", []);
app.controller("mainController", function($scope, $cookies) {
/**
* Check CookieFlag is set
* if not then show flag alert (.cookieinfo-flag)
*/
$scope.cookie_flag = true;
if ($cookies.get('CookieFlag')) {
$scope.cookie_flag = false;
}
/**
* Set illusparkCookieFlag and hide flag alert (.cookieinfo-flag)
*/
$scope.setCookieFlag = function() {
$cookies.put('CookieFlag', true, {
'expires': new Date('01/01/9999'),
'path': '/'
});
$scope.cookie_flag = false;
};
Saturday, February 15, 2020
Tuesday, February 11, 2020
Thursday, February 6, 2020
Paid Memberships Pro LevelMeta (Addon)
/*
Plugin Name: Paid Memberships Pro LevelMeta (Addon)
Plugin URI: https://pk-techie.blogspot.com/2020/02/paid-memberships-pro-levelmeta-addon.html
Description: Useful to get, update, delete memership level meta data like wordpress meta data
Author: PrakharKant
Version: 1.0
Author URI: https://pk-techie.blogspot.com/
*/
register_activation_hook( __FILE__, 'pkLm_plugin_activate' );
function pkLm_plugin_activate(){
// Require parent plugin
if ( ! is_plugin_active( 'paid-memberships-pro/paid-memberships-pro.php' ) and current_user_can( 'activate_plugins' ) ) {
// Deactivate the plugin
deactivate_plugins(__FILE__);
// Throw an error in the wordpress admin console
$error_message = __('This plugin requires Paid Memberships Pro plugin to be active!');
die($error_message);
}
}
function pk_update_pmprolevel_meta($object_id, $meta_key, $meta_value) {
global $wpdb;
$table = $wpdb->pmpro_membership_levelmeta;
$column = 'pmpro_membership_level_id';
$object_id = absint( $object_id );
if ( ! $object_id ) { return false; }
// expected_slashed ($meta_key)
$meta_key = wp_unslash($meta_key);
$meta_value = wp_unslash($meta_value);
$meta_value = sanitize_meta( $meta_key, $meta_value, $column );
$meta_value = maybe_serialize( $meta_value );
$meta_ids = $wpdb->get_col(
$wpdb->prepare(
"SELECT meta_id FROM $table WHERE meta_key = %s AND $column = %d",
$meta_key,
$object_id
)
);
if ( empty( $meta_ids ) ) {
$result = $wpdb->insert( $table, array(
$column => $object_id,
'meta_key' => $meta_key,
'meta_value' => $meta_value
) );
$meta_id = (int) $wpdb->insert_id;
return $meta_id;
}
$data = compact( 'meta_value' );
$where = array( $column => $object_id, 'meta_key' => $meta_key );
$result = $wpdb->update( $table, $data, $where );
var_dump($result);
}
function pk_delete_pmprolevel_meta($object_id, $meta_key, $meta_value = '') {
global $wpdb;
$table = $wpdb->pmpro_membership_levelmeta;
$column = 'pmpro_membership_level_id';
if ( ! $meta_key || ! is_numeric( $object_id ) ) {
return false;
}
$object_id = absint( $object_id );
if ( ! $object_id ) { return false; }
// expected_slashed ($meta_key)
$meta_key = wp_unslash($meta_key);
$meta_value = wp_unslash($meta_value);
$meta_value = maybe_serialize( $meta_value );
$query = $wpdb->prepare(
"DELETE FROM $table WHERE $column = %d AND meta_key = %s ",
$object_id,
$meta_key
);
if ( '' !== $meta_value && null !== $meta_value && false !== $meta_value )
$query .= $wpdb->prepare(" AND meta_value = %s", $meta_value );
$count = $wpdb->query($query);
if ( !$count )
return false;
return true;
}
function pk_get_pmprolevel_meta($object_id, $meta_key = '', $single = false) {
global $wpdb;
$table = $wpdb->pmpro_membership_levelmeta;
$column = 'pmpro_membership_level_id';
if ( ! is_numeric( $object_id ) ) {
return false;
}
$object_id = absint( $object_id );
if ( ! $object_id ) { return false; }
$query = "SELECT * FROM $table WHERE $column = $object_id";
if( !$meta_key ) {
$result = $wpdb->get_results($query);
}
$query .= " AND meta_key = '$meta_key'";
$result = $wpdb->get_row($query);
if( !$result )
return false;
if( !$single )
return $result;
$value = maybe_unserialize($result->meta_value);
return $value;
}
/*
* delete all meta data on deletion of membership deletion
*/
add_action('pmpro_delete_membership_level', function($level_id){
global $wpdb;
$table = $wpdb->pmpro_membership_levelmeta;
$column = 'pmpro_membership_level_id';
$meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $table WHERE $column = %d ", $level_id ));
foreach ( $meta_ids as $mid ) {
$result = (bool) $wpdb->delete( $table, array( 'meta_id' => $mid ) );
}
});
Plugin Name: Paid Memberships Pro LevelMeta (Addon)
Plugin URI: https://pk-techie.blogspot.com/2020/02/paid-memberships-pro-levelmeta-addon.html
Description: Useful to get, update, delete memership level meta data like wordpress meta data
Author: PrakharKant
Version: 1.0
Author URI: https://pk-techie.blogspot.com/
*/
register_activation_hook( __FILE__, 'pkLm_plugin_activate' );
function pkLm_plugin_activate(){
// Require parent plugin
if ( ! is_plugin_active( 'paid-memberships-pro/paid-memberships-pro.php' ) and current_user_can( 'activate_plugins' ) ) {
// Deactivate the plugin
deactivate_plugins(__FILE__);
// Throw an error in the wordpress admin console
$error_message = __('This plugin requires Paid Memberships Pro plugin to be active!');
die($error_message);
}
}
function pk_update_pmprolevel_meta($object_id, $meta_key, $meta_value) {
global $wpdb;
$table = $wpdb->pmpro_membership_levelmeta;
$column = 'pmpro_membership_level_id';
$object_id = absint( $object_id );
if ( ! $object_id ) { return false; }
// expected_slashed ($meta_key)
$meta_key = wp_unslash($meta_key);
$meta_value = wp_unslash($meta_value);
$meta_value = sanitize_meta( $meta_key, $meta_value, $column );
$meta_value = maybe_serialize( $meta_value );
$meta_ids = $wpdb->get_col(
$wpdb->prepare(
"SELECT meta_id FROM $table WHERE meta_key = %s AND $column = %d",
$meta_key,
$object_id
)
);
if ( empty( $meta_ids ) ) {
$result = $wpdb->insert( $table, array(
$column => $object_id,
'meta_key' => $meta_key,
'meta_value' => $meta_value
) );
$meta_id = (int) $wpdb->insert_id;
return $meta_id;
}
$data = compact( 'meta_value' );
$where = array( $column => $object_id, 'meta_key' => $meta_key );
$result = $wpdb->update( $table, $data, $where );
var_dump($result);
}
function pk_delete_pmprolevel_meta($object_id, $meta_key, $meta_value = '') {
global $wpdb;
$table = $wpdb->pmpro_membership_levelmeta;
$column = 'pmpro_membership_level_id';
if ( ! $meta_key || ! is_numeric( $object_id ) ) {
return false;
}
$object_id = absint( $object_id );
if ( ! $object_id ) { return false; }
// expected_slashed ($meta_key)
$meta_key = wp_unslash($meta_key);
$meta_value = wp_unslash($meta_value);
$meta_value = maybe_serialize( $meta_value );
$query = $wpdb->prepare(
"DELETE FROM $table WHERE $column = %d AND meta_key = %s ",
$object_id,
$meta_key
);
if ( '' !== $meta_value && null !== $meta_value && false !== $meta_value )
$query .= $wpdb->prepare(" AND meta_value = %s", $meta_value );
$count = $wpdb->query($query);
if ( !$count )
return false;
return true;
}
function pk_get_pmprolevel_meta($object_id, $meta_key = '', $single = false) {
global $wpdb;
$table = $wpdb->pmpro_membership_levelmeta;
$column = 'pmpro_membership_level_id';
if ( ! is_numeric( $object_id ) ) {
return false;
}
$object_id = absint( $object_id );
if ( ! $object_id ) { return false; }
$query = "SELECT * FROM $table WHERE $column = $object_id";
if( !$meta_key ) {
$result = $wpdb->get_results($query);
}
$query .= " AND meta_key = '$meta_key'";
$result = $wpdb->get_row($query);
if( !$result )
return false;
if( !$single )
return $result;
$value = maybe_unserialize($result->meta_value);
return $value;
}
/*
* delete all meta data on deletion of membership deletion
*/
add_action('pmpro_delete_membership_level', function($level_id){
global $wpdb;
$table = $wpdb->pmpro_membership_levelmeta;
$column = 'pmpro_membership_level_id';
$meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $table WHERE $column = %d ", $level_id ));
foreach ( $meta_ids as $mid ) {
$result = (bool) $wpdb->delete( $table, array( 'meta_id' => $mid ) );
}
});
Get current page url in javascript
var curPageURL = window.location.origin + window.location.pathname;
Thursday, January 30, 2020
Validate given string is JSON
function isJson(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}
Subscribe to:
Posts (Atom)