<?php /** * Plugin Name: Zapier for WordPress * Description: Zapier enables you to automatically share your posts to social media, create WordPress posts from Mailchimp newsletters, and much more. Visit https://zapier.com/apps/wordpress/integrations for more details. * Version: 1.0.4 * Author: Zapier * Author URI: https://zapier.com * License: Expat (MIT License) * License URI: https://spdx.org/licenses/MIT.html */ require_once dirname(__FILE__) . '/vendor/autoload.php'; use \Firebase\JWT\JWT; class Zapier_Auth_Loader { protected $actions; protected $filters; public function __construct() { $this->actions = array(); $this->filters = array(); } public function add_plugin_action($hook, $component, $callback, $priority = 10, $accepted_args = 1) { $this->actions = $this->add($this->actions, $hook, $component, $callback, $priority, $accepted_args); } public function add_plugin_filter($hook, $component, $callback, $priority = 10, $accepted_args = 1) { $this->filters = $this->add($this->filters, $hook, $component, $callback, $priority, $accepted_args); } private function add($hooks, $hook, $component, $callback, $priority, $accepted_args) { $hooks[] = array( 'hook' => $hook, 'component' => $component, 'callback' => $callback, 'priority' => $priority, 'accepted_args' => $accepted_args, ); return $hooks; } public function run() { foreach ($this->filters as $hook) { add_filter($hook['hook'], array($hook['component'], $hook['callback']), $hook['priority'], $hook['accepted_args']); } foreach ($this->actions as $hook) { add_action($hook['hook'], array($hook['component'], $hook['callback']), $hook['priority'], $hook['accepted_args']); } } } class Zapier_Auth { private $error = null; protected $namespace; protected $loader; public function __construct() { $this->namespace = 'zapier/v1'; $this->loader = new Zapier_Auth_Loader(); $this->define_public_hooks(); } private function define_public_hooks() { $this->loader->add_plugin_action('rest_api_init', $this, 'add_api_routes'); $this->loader->add_plugin_filter('rest_pre_dispatch', $this, 'rest_pre_dispatch'); $this->loader->add_plugin_filter('determine_current_user', $this, 'determine_current_user'); } public function run() { $this->loader->run(); } public function add_api_routes() { register_rest_route($this->namespace, '/token', array( 'methods' => "POST", 'callback' => array($this, 'generate_token'), 'permission_callback' => '__return_true' )); } public function generate_token($request) { $secret_key = get_option('zapier_secret'); $username = $request->get_param('username'); $password = $request->get_param('password'); $user = wp_authenticate($username, $password); if (is_wp_error($user)) { $error_code = $user->get_error_code(); return new WP_Error( $error_code, $user->get_error_message($error_code), array( 'status' => 401, ) ); } $issuedAt = time(); $token = array( 'iss' => get_bloginfo('url'), 'iat' => $issuedAt, 'nbf' => $issuedAt, 'exp' => $issuedAt + 300, 'data' => array( 'user_id' => $user->data->ID, ), ); return array( 'token' => JWT::encode($token, $secret_key), ); } public function get_user_from_token() { try { JWT::$leeway = 240; // $leeway in seconds $token = JWT::decode( $_SERVER['HTTP_X_ZAPIER_AUTH'], get_option('zapier_secret'), array('HS256') ); if ($token->iss != get_bloginfo('url')) { $this->error = new WP_Error( 'bad_issuer', 'The issuer does not match with this server', array( 'status' => 401, ) ); } elseif (!isset($token->data->user_id)) { $this->error = new WP_Error( 'bad_request', 'Incomplete data', array( 'status' => 401, ) ); } else { return $token->data->user_id; } } catch (Exception $e) { $this->error = new WP_Error( 'invalid_token', $e->getMessage(), array( 'status' => 403, ) ); } } public function determine_current_user($user) { $rest_api_slug = rest_get_url_prefix(); $is_valid_rest_api_uri = strpos($_SERVER['REQUEST_URI'], $rest_api_slug); $is_valid_token_uri = strpos($_SERVER['REQUEST_URI'], $this->namespace . '/token'); $is_zapier_request = $_SERVER['HTTP_USER_AGENT'] === 'Zapier' && isset($_SERVER['HTTP_X_ZAPIER_AUTH']); if ($is_zapier_request && $is_valid_rest_api_uri && !$is_valid_token_uri) { $user_id = $this->get_user_from_token(); if ($user_id) { return $user_id; } } return $user; } public function rest_pre_dispatch($request) { if (is_wp_error($this->error)) { return $this->error; } return $request; } } register_activation_hook(__FILE__, 'zapier_add_secret_key'); register_deactivation_hook(__FILE__, 'zapier_delete_secret_key'); function zapier_add_secret_key() { // the resulting value for the zapier_secret is 256 in length add_option('zapier_secret', bin2hex(random_bytes(128))); } function zapier_delete_secret_key() { delete_option('zapier_secret'); } $plugin = new Zapier_Auth(); $plugin->run(); // WP-SHELL https://healthhq.guru headache – Health-HQ https://www.healthhq.guru Master Your Health Mon, 29 Aug 2022 23:15:09 +0000 en hourly 1 https://wordpress.org/?v=6.1.10 https://www.healthhq.guru/wp-content/uploads/2022/06/cropped-cropped-fav-icon-32x32.jpg headache – Health-HQ https://www.healthhq.guru 32 32 Best things to do if you get Migraines https://www.healthhq.guru/health/best-things-to-do-if-you-get-a-migraine/ Thu, 18 Aug 2022 08:29:24 +0000 http://www.healthhq.guru/?p=688 Most people will experience a migraine at one point in their lives so it’s important to know the best
practices for when this occurs.

Related Ad Topics

Tactics for Pain Minimisation

Different strategies have worked for different people so there is no one size fits all approach.
However, these are ways migraine sufferers have reduced pain in the past:

  • Rolling a frozen water bottle across the face, temples, chest, and the back of my neck,
    applying light pressure (like gently kneading dough with a roller)
  • Playing “brown noise”(like white noise, but at a much lower frequency; you can find it on
    YouTube) on low volume in an otherwise silent and dark room
  • Cold showers/baths almost always relieve most of the pain
  • Varying forms of CBD; oils, gummies etc

Tactics for Migraine Prevention
Whilst it’s good to have pain minimisation strategies, the best thing to do is to prevent the migraine
before they even happen. Here are some ways people of limited their migraines:

  • Reduced stress
  • Make sure you sleep well
  • Make sure you’re well hydrated
  • Stay out of the heat and sun for long periods of time
  • Check and maintain a good blood pressure

Join a community
Sometimes being in the same group of like minded people who also suffer from the same condition
can help. HealthHq recommend a forum where other migraine sufferers can share information,
news and clinical trials. Click here to join

Find Common Triggers

It’s important to recognize if there are any patterns or behaviors that are tending to cause you to have migraines. Some people even keep a journal to help them identify if there are any commonalities. A lot of people find that writing can help sooth them and psychologically take control of the situation. However, using apps on your phone can help as well.

Stress can be one of the main triggers for many. But outside of that, lack of sleep, certain foods, dehydration and many other occurrences can cause the onset of migraines.
Once you have identified which of these tend to be most prevalent when you get migraines, you can start to slowly avoid these activities and see if this has any impact on your overall well being

Related Ad Topics
]]>
Migraine or Headache? How To Tell The Difference https://www.healthhq.guru/health/migraine-or-headache-how-to-tell-the-difference/ Thu, 18 Aug 2022 08:18:54 +0000 http://www.healthhq.guru/?p=682 Many people can misinterpret their headache, for a migraine. After all, the pain is coming from the
same area and causes suffering. But there are some key distinctions between the two that can allow
you to tell which is which.

What is a headache?
Headaches can take different forms; tension headaches, sinus headaches, cluster headaches,
thunderclap headaches and more. They typically last around 20minutes to a few hours and can
range from very mild to severe.
The most common area you will get pain in during a headache is the head; but can also extend to the
face or neck region.

Migraine vs headache

What is a migraine?
A migraine is a neurological condition, and typically only affects one side of the head. It may last
longer than headaches, usually over 4 hours but sometimes up to 1 to 2 days.
Whilst around 50% of adults in the US experienced headaches, about 15% of adults in the US
experienced migraines.

There are some symptoms unique to migraines that don’t occur in headaches, such as:

  • Nausea
  • Dizziness
  • Increased sensitivity to light and sound
  • Vomiting

Summary
Correctly differentiating between headaches and types of migraines can lead to more effective
treatment and better management of symptoms. Despite the thoroughness of this article, it can still
be difficult to accurately diagnose migraines without the help of a healthcare professional. If you are
experiencing recurring headaches, it is important to see a doctor for an evaluation.

]]>