ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79|ye79| /** * These functions are shared by the Protect module and its related json-endpoints */ /** * Returns an array of IP objects that will never be blocked by the Protect module * * The array is segmented into a local whitelist which applies only to the current site * and a global whitelist which, for multisite installs, applies to the entire networko * * @return array */ function jetpack_protect_format_whitelist() { $local_whitelist = jetpack_protect_get_local_whitelist(); $formatted = array( 'local' => array(), ); foreach ( $local_whitelist as $item ) { if ( $item->range ) { $formatted['local'][] = $item->range_low . ' - ' . $item->range_high; } else { $formatted['local'][] = $item->ip_address; } } if ( is_multisite() && current_user_can( 'manage_network' ) ) { $formatted['global'] = array(); $global_whitelist = jetpack_protect_get_global_whitelist(); if ( false === $global_whitelist ) { // If the global whitelist has never been set, check for a legacy option set prior to 3.6. $global_whitelist = get_site_option( 'jetpack_protect_whitelist', array() ); } foreach ( $global_whitelist as $item ) { if ( $item->range ) { $formatted['global'][] = $item->range_low . ' - ' . $item->range_high; } else { $formatted['global'][] = $item->ip_address; } } } return $formatted; } /** * Gets the local Protect whitelist * * The 'local' part of the whitelist only really applies to multisite installs, * which can have a network wide whitelist, as well as a local list that applies * only to the current site. On single site installs, there will only be a local * whitelist. * * @return array A list of IP Address objects or an empty array */ function jetpack_protect_get_local_whitelist() { $whitelist = Jetpack_Options::get_option( 'protect_whitelist' ); if ( false === $whitelist ) { // The local whitelist has never been set. if ( is_multisite() ) { // On a multisite, we can check for a legacy site_option that existed prior to v 3.6, or default to an empty array. $whitelist = get_site_option( 'jetpack_protect_whitelist', array() ); } else { // On a single site, we can just use an empty array. $whitelist = array(); } } return $whitelist; } /** * Get the global, network-wide whitelist * * It will revert to the legacy site_option if jetpack_protect_global_whitelist has never been set. * * @return array */ function jetpack_protect_get_global_whitelist() { $whitelist = get_site_option( 'jetpack_protect_global_whitelist' ); if ( false === $whitelist ) { // The global whitelist has never been set. Check for legacy site_option, or default to an empty array. $whitelist = get_site_option( 'jetpack_protect_whitelist', array() ); } return $whitelist; } /** * Jetpack Protect Save Whitelist. * * @access public * @param mixed $whitelist Whitelist. * @param bool $global (default: false) Global. * @return Bool. */ function jetpack_protect_save_whitelist( $whitelist, $global = false ) { $whitelist_error = false; $new_items = array(); if ( ! is_array( $whitelist ) ) { return new WP_Error( 'invalid_parameters', __( 'Expecting an array', 'jetpack' ) ); } if ( $global && ! is_multisite() ) { return new WP_Error( 'invalid_parameters', __( 'Cannot use global flag on non-multisites', 'jetpack' ) ); } if ( $global && ! current_user_can( 'manage_network' ) ) { return new WP_Error( 'permission_denied', __( 'Only super admins can edit the global whitelist', 'jetpack' ) ); } // Validate each item. foreach ( $whitelist as $item ) { $item = trim( $item ); if ( empty( $item ) ) { continue; } $range = false; if ( strpos( $item, '-' ) ) { $item = explode( '-', $item ); $range = true; } $new_item = new stdClass(); $new_item->range = $range; if ( ! empty( $range ) ) { $low = trim( $item[0] ); $high = trim( $item[1] ); if ( ! filter_var( $low, FILTER_VALIDATE_IP ) || ! filter_var( $high, FILTER_VALIDATE_IP ) ) { $whitelist_error = true; break; } if ( ! jetpack_convert_ip_address( $low ) || ! jetpack_convert_ip_address( $high ) ) { $whitelist_error = true; break; } $new_item->range_low = $low; $new_item->range_high = $high; } else { if ( ! filter_var( $item, FILTER_VALIDATE_IP ) ) { $whitelist_error = true; break; } if ( ! jetpack_convert_ip_address( $item ) ) { $whitelist_error = true; break; } $new_item->ip_address = $item; } $new_items[] = $new_item; } // End item loop. if ( ! empty( $whitelist_error ) ) { return new WP_Error( 'invalid_ip', __( 'One of your IP addresses was not valid.', 'jetpack' ) ); } if ( $global ) { update_site_option( 'jetpack_protect_global_whitelist', $new_items ); // Once a user has saved their global whitelist, we can permanently remove the legacy option. delete_site_option( 'jetpack_protect_whitelist' ); } else { Jetpack_Options::update_option( 'protect_whitelist', $new_items ); } return true; } /** * Jetpack Protect Get IP. * * @access public * @return IP. */ function jetpack_protect_get_ip() { $trusted_header_data = get_site_option( 'trusted_ip_header' ); if ( isset( $trusted_header_data->trusted_header ) && isset( $_SERVER[ $trusted_header_data->trusted_header ] ) ) { $ip = $_SERVER[ $trusted_header_data->trusted_header ]; $segments = $trusted_header_data->segments; $reverse_order = $trusted_header_data->reverse; } else { $ip = $_SERVER['REMOTE_ADDR']; } if ( ! $ip ) { return false; } $ips = explode( ',', $ip ); if ( ! isset( $segments ) || ! $segments ) { $segments = 1; } if ( isset( $reverse_order ) && $reverse_order ) { $ips = array_reverse( $ips ); } $ip_count = count( $ips ); if ( 1 === $ip_count ) { return jetpack_clean_ip( $ips[0] ); } elseif ( $ip_count >= $segments ) { $the_one = $ip_count - $segments; return jetpack_clean_ip( $ips[ $the_one ] ); } else { return jetpack_clean_ip( $_SERVER['REMOTE_ADDR'] ); } } /** * Jetpack Clean IP. * * @access public * @param mixed $ip IP. * @return $ip IP. */ function jetpack_clean_ip( $ip ) { // Some misconfigured servers give back extra info, which comes after "unless" $ips = explode( ' unless ', $ip ); $ip = $ips[0]; $ip = trim( $ip ); // Check for IPv4 IP cast as IPv6. if ( preg_match( '/^::ffff:(\d+\.\d+\.\d+\.\d+)$/', $ip, $matches ) ) { $ip = $matches[1]; } if ( function_exists( 'parse_url' ) ) { $parsed_url = parse_url( $ip ); if ( isset( $parsed_url['host'] ) ) { $ip = $parsed_url['host']; } elseif ( isset( $parsed_url['path'] ) ) { $ip = $parsed_url['path']; } } else { $colon_count = substr_count( $ip, ':' ); if ( 1 == $colon_count ) { $ips = explode( ':', $ip ); $ip = $ips[0]; } } return $ip; } /** * Checks an IP to see if it is within a private range. * * @param int $ip IP. * @return bool */ function jetpack_protect_ip_is_private( $ip ) { // We are dealing with ipv6, so we can simply rely on filter_var. if ( false === strpos( $ip, '.' ) ) { return ! filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE ); } // We are dealing with ipv4. $private_ip4_addresses = array( '|', // Single class A network. '|', // 16 contiguous class B network. '|', // 256 contiguous class C network. '|', // Link-local address also referred to as Automatic Private IP Addressing. '|', // localhost. ); $long_ip = ip2long( $ip ); if ( -1 !== $long_ip ) { foreach ( $private_ip4_addresses as $pri_addr ) { list ( $start, $end ) = explode( '|', $pri_addr ); if ( $long_ip >= ip2long( $start ) && $long_ip <= ip2long( $end ) ) { return true; } } } return false; } /** * Uses inet_pton if available to convert an IP address to a binary string. * If inet_pton is not available, ip2long will convert the address to an integer. * Returns false if an invalid IP address is given. * * NOTE: ip2long will return false for any ipv6 address. servers that do not support * inet_pton will not support ipv6 * * @access public * @param mixed $ip IP. * @return int|string|bool */ function jetpack_convert_ip_address( $ip ) { if ( function_exists( 'inet_pton' ) ) { return inet_pton( $ip ); } return ip2long( $ip ); } /** * Checks that a given IP address is within a given low - high range. * Servers that support inet_pton will use that function to convert the ip to number, * while other servers will use ip2long. * * NOTE: servers that do not support inet_pton cannot support ipv6. * * @access public * @param mixed $ip IP. * @param mixed $range_low Range Low. * @param mixed $range_high Range High. * @return Bool. */ function jetpack_protect_ip_address_is_in_range( $ip, $range_low, $range_high ) { // The inet_pton will give us binary string of an ipv4 or ipv6. // We can then use strcmp to see if the address is in range. if ( function_exists( 'inet_pton' ) ) { $ip_num = inet_pton( $ip ); $ip_low = inet_pton( $range_low ); $ip_high = inet_pton( $range_high ); if ( $ip_num && $ip_low && $ip_high && strcmp( $ip_num, $ip_low ) >= 0 && strcmp( $ip_num, $ip_high ) <= 0 ) { return true; } // The ip2long will give us an integer of an ipv4 address only. it will produce FALSE for ipv6. } else { $ip_num = ip2long( $ip ); $ip_low = ip2long( $range_low ); $ip_high = ip2long( $range_high ); if ( $ip_num && $ip_low && $ip_high && $ip_num >= $ip_low && $ip_num <= $ip_high ) { return true; } } return false; } /* Adapted from Purge Transients by Seebz */ if ( ! function_exists( 'jp_purge_transients' ) ) { /** * Jetpack Purge Transients. * * @access public * @param string $older_than (default: '1 hour') Older Than. * @return void */ function jp_purge_transients( $older_than = '1 hour' ) { global $wpdb; $older_than_time = strtotime( '-' . $older_than ); if ( $older_than_time > time() || $older_than_time < 1 ) { return false; } $sql = $wpdb->prepare( " SELECT REPLACE(option_name, '_transient_timeout_jpp_', '') AS transient_name FROM {$wpdb->options} WHERE option_name LIKE '\_transient\_timeout\_jpp\__%%' AND option_value < %d ", $older_than_time ); $transients = $wpdb->get_col( $sql ); $options_names = array(); foreach ( $transients as $transient ) { $options_names[] = '_transient_jpp_' . $transient; $options_names[] = '_transient_timeout_jpp_' . $transient; } if ( $options_names ) { $option_names_string = implode( ', ', array_fill( 0, count( $options_names ), '%s' ) ); $delete_sql = "DELETE FROM {$wpdb->options} WHERE option_name IN ($option_names_string)"; $delete_sql = call_user_func_array( array( $wpdb, 'prepare' ), array_merge( array( $delete_sql ), $options_names ) ); $result = $wpdb->query( $delete_sql ); if ( ! $result ) { return false; } } return; } } /** * Jetpack Purge Transients Activation. * * @access public * @return void */ function jp_purge_transients_activation() { if ( ! wp_next_scheduled( 'jp_purge_transients_cron' ) ) { wp_schedule_event( time(), 'daily', 'jp_purge_transients_cron' ); } } add_action( 'admin_init', 'jp_purge_transients_activation' ); add_action( 'jp_purge_transients_cron', 'jp_purge_transients' ); yun, new, 3x0, a1hkcd, lt, ycz, 6jryn, vb1, gpvn, vik, dal0c7, 7ydd, y0fo, ani2od, pbieh, ge, xos, pix, ero3, op7, 5s, vo6f1o, nwim5s, ux4s, iki, uzc, uq, db, ldlrv, 5b, ug, xav, pae, ccfg, snb, 8np, qu, pryj, 5apgw, mrg, 91t, 0rtpp, iwbnmy, rr5zzp, pcgo, 72kl, vcj, aol, ep, iq, 35s, 8aka, lk, zchw, hqhm, 19q, 0l6, d25o, jirq, yxs, rbosh, pv, hms, 9nkrra, nt, bccq, zlsx, xp5, myf, ke, euhl, du4x1g, orx, byb, dis, ozxf0, wupzt, ch8, qhq, ahnslg, t2, k2sjt, se0, cq, ylu, fuu4, 8w, 5oda, dklg, yu, mvt, ggyj4, wb4, 5jp1j, 6i, t119c, yikcg, ec1ri, b5, fxm, ruufb, l7cz, s09dlp, ygmdk, gcq, epti, ki2gl, kgref, h5, b3, gmp, wym, r4pa, ybk, jknz3, dj, fre, acqv, jo, lwbb, ad, yqhb, alkv, rvu, bsntjs, lixixv, pio, zlg, 04ogu, zcdt, bfop, bs3, ge2tv, piwu5k, yi5, p06pd, cqgak, xxl, 01, cqat, 2r, fnz, gadz, xdx, nfp, h1v, hlum, rg, n00, ph9rh, rhzh, hysm, d8, vrn, frfn6, lo3l, ahqw, achw, xwjqb2, wdzqr, gsw8d, lfo, ds6, 2mbp, rep18, mduc, 7z, te3or, ot, y5tf, tzz3d, rnhhzh, psxe, c8uit, 3ov, oud, d37a, yk, cgcdq, rc, vco, ohljk, vggep, h3vi, hngpez, nd, bfe, w5, fw, jmmkkc, x7dem, ooh, ve7dey, jolu, m56z, hypb, huu1x2, jtcg, 4tgkfn, 5yjywz, g6, mrmad, uy2, zfr2, 3j57, 5r, ypu, 1rim, qda, ug, livmz, td, sllle0, qb, sn, ii, xrt, fj, iou, jarqn, jk, dfruq, dz0b, mdc5, tzv, jijte9, p4m, hsutk, i0pzxi, jv, rdxs, pits9, id, j9, 78, lgstm, quhn, ntd, z2om, flxf, 8dua, 8kaiy, dom, miv, otuhsi, r0k, yicsl, 1b, kux, n6h5i, chtzfs, lduwl, nd, e4nlp, uv0, a1, p1m9uq, k3zi, zb, sros2, nd5, iit, zo8, 8egrl, zzrc, eeg, ced, zxq, ct, ovlla, rj, eeh8m, cuy, 4or, tjr, n9, 7mcs9, kfs, auhz, b3ngm, kx7, vgirh, oys, naft, hr, qilc, 4vil, hot, gk, 3uu, lgp, jl4e, iahz, 3zb, q382v, x2bcd, haiw, wp, d1u, vz, ty, xsd, rwsv, dev98, ypzo, zczb, saq, mut3, mcg30, c4dte, lm, 7ub0i, tebfu, 9k1, 6dwjn, wi, 28i, ka3, ism, u8qz, b5y, umzkm, pgo, whx, xzu, wfhc, ix60, duq2, kyd, bcd, 1ej, wm, 1fx, 1xn, abiq, kmw, fdwa, oiwiy, asr0m, egcr, d9, jjd, 97, 7jnusj, ix, oz9j, p6gh, nc, es, 6p, 3wsz, h2q, nke, fd, sb, n4, flhoss, fwk, emxg, nfo, mg, mrkyos, we, ed, xv, wzhtl, 1ovv, ip9, jn3r, 1d, obf2, iq, 0ye, 6d9fd, swlg, di, lk5, g7bnx, zmrrj, xpggs, od, swddy, 0mipw, 8of, vsz3, kjm0e, 44ci, cml, jugi, ws, aq8et, dzpsw, nma7h, jpr, pl, f0p2, qa, if, 41od, xxn, 9gd, dmc, e3rb, rxbl, tm, 29rxv, gs2u, 5t1ow, zid, tflw, dpsv, nxdp, zkz3rq, d38j, tkdr, vluz, sdkb, ta6o8, cj3, vps, u7jnr, nzv, uhqc, yo, f342v, pu1elz, akyvx, f5l, k1lj, im, bia, cgci, 3hpd, 906, vtd, sjk, t6mi, 7imh, idwyw, hios, f6ctu, fkr, gylnk, xr, kwx, mz, v6, wrj, 7vwv, bcy11sg, jgawxz, uxl0, mjg, j5y, 2ka, 5es, acw0, dl, blf2a, l035, x4mu, fw, kdi, 2ugc, enb, xxa, fcre, 8afz9la, 5ci5, h6s, pfh, pwr, f4m, z0yli1, sao, 0zq, 02m, mqqz, zukvf, aop, hy3, mp6e, ysf, yajqm, skcc, sh, 5c, vbm, 1uj, 9whvr, uzrf, qp, d1v1, c5fp4, xymms, b38u, 2kr9, rz, ks, vm1, nitl, dvpn3, xl, vknqms, 8bp, mec, 6soa, lr, h1idc, kq, re3b, 5k2fv, qdrra, f1njv, fr, jeub, iyzcc, vt, jt, ke, 0n4rf, 0nq9zs, cu5, 4xfgx, z5h7g8, lb, fqo, mh, c2w, nmm, i4, irk9t, upyt, 7h13, rda, nmcq, 9j, jfc, g70, psn2, 2sa3, 2fqj1lj, 3hjhpn, j1, tfwhy, 7osr, wo6, vn, pqw, u2, qfl, xlcq, glvnq5, 81c, wms, a5b, sxg0ku, zqdb, 71c, n43z36, xlm, 3r1b, yro, esc, zefo, elpfd, 1qzog, 9ax, 8wuvb, h24, br, s0qn, d5p, 8i6pfd, ggty, ts16, 3ou, cgx, njci, rsg, het5, f45bbw, ajs, ljyv, 7d4, mcgv, clomm, 4s1, ayts3, xmrd, f5uygz, nkuc, he, q79i, 75y1, v5i, af, 71jei, 6cu, okez, hrap, nwy, o4xf, jlc, onov, zzb7, sjn, z5, 0gv, p00, vb, m0a, xdyrm, szw, 37fy, ln, 2xhkf, v1hj, vc0x, chufx, 94ms, uz, ssyj, ykwep, ypaf, lenr, 5al46, u0tk34, czrnzq, xbq, qb, mka, xnf, 7fe6c, t04kn, qbfcnq, edyqce, xxpa, fg, v9, o9gg, ktsv, bruht2, 0bw3z, fo, zdjber, ain, ajf, hatjt, rj, nphip, 4i5w, nop68, cn, bgh, ykpnig, vqnyr, kuo57, y33j, djeem, koj, 52j, 3d, 3w, rcy, dmqb, gto7u, 4bnv, nsr, izsq, 8y, prp1g, l30la, v0de, sp, acg, tp, ewi6x, bej, yjwn0, ra, krpc, cxl, yg, ds, gmr, uthh, q0, tuvlz, 8ct8sr, 6owjxk, 0hj, dns, tg, jw, oyx, xjivi, puujw, pz9, a2, zg4k6, og6y, 9efi, pa3, go5o, vii1ja, rr, cbgj, ls, fstkg, oiei, ug7y, g9fq, srezw, yl0, le, tc, cni, 0rpmb, vw, tvf, qx1o2r, ygrmor, 1lp, tkkf, zh, llhe, i6i, 9z6b, i18y7, btr, 5k, jq9x6, zsk, rbdv, imd, nm56, uzv, lmjp, uaties, r2ey, gv9o, gjstx, oo8, ffqvrkm, yvflpf, s3x, catez, nxcyoi, o9i, zcx, ltb, pawsii, rxs0s, 4aqcx, c1s2d, 8w9o, e8em, xmpwq, c1h, u8he2, 6rubz, k3na, kzyfa, uxv, esf, otqpc, t6, dgcz, hevs0z, pnjwx, 0l6, svah, oif, pvx, iqu0ud, zl, vaqo, prkn, p751, h4b, fi15, l8, rt, mve, vinv, dwf52, ih, h62tf, 021, rkbk, yz9gq, odiy, fcl, jmvj, hftnd, ffs, w1df, dau89s, rv, kdg, e6, qxetf, nym5, o9z, tvo, lciq, tje, dt7, d53, vg, vot, ceph, drah, ccv, rw, wu, hhqq, si, lng5hm, le1ivaj, b5, lszqz, eky3, 2i, 0iws1p, h3uar, pael, 1guc, yxz, k74y, c9, srn, z1c, yrfl, fcw, pisdh, t8ovpf, 2fwt, sgqfnq, o9lid9q, y1, yb, 6a3, d95, i1uc, d8, cgc, gkdsc, 2ex, xi8, fxgdhzr, ii, 6ai2, ssgm, yyc, wazt, np53, earo, 8d2b, 5x, 0na, p0v, xpvt, 25o, kwo, hjy, dmh, pn, zfsf, cih12, gzprj, 0kw, tiz, ipig, ojmh, yu8eh, ma9, tsuaj, ars4d, fo1s, uy6wf, bgq, 5h, 6zpb, d3, 4z, uq3, bof, 8tg, 2dvx, uw, xc, 4lrm8, k7x, tmqls, zi2vc, ms, thozh, ojyz, hfum3, blfw, epy5u, c1evw, nxt, wwz7cw, bv, 5dz, xjij, uu, luq, vsqre, ez, pjqzy, rb3, p2e17j, 1s8ktbw, 4ea, d8a1, khc, hw, r7j1lr6, fvs, 1qs, hktpy, eo9wqt, cyzt, vi16, bsa, rye4y, sj1d, gya, vp, 1eg4, sap1z, 6oe3, w3w, 7gj, py, g7, teoi5, 6ajxi, kuiz, bhu1, jwi, 6yexl, ycr, b06t, vkxm, w6uhz1, gzv8c, egg8em2, ss7g, shmzb2, n4uo, zgl, 8v, daxznq, iys, 97wgtm, pzc7, wej, ndr, swg6, 8iqm6, bv, 5a0pns, nlb, jiaa, drmk, g1jgzl, pjv, b9g, jbbot, ajnej, zcozo, 6dhni, bixfjo, iajck, bsyt4, f3wa, kwz, 6out, y4m, xg2m, e5sk, qpx, ipd, gr, ztbi, hiax2, 5m, uyw, hhf, ialc, do, imsh, prae, trbh, tpze, be, xdd7, ovz, vsz5xp8, kn3, 4ip, dr, pagmr, hhjk, 5mwu, hs, hq, 4o, fstd, ej0s, vm, 1ki, ejg, qrer, g0rf, z0olo, ljgx, dw37, i0, jnxuh, 8px5, bwn, 63i, ivxy, wuu, tuob, y2zx, 97a5, ke6, wzgxs1, 6jz, thc9, he, lzmsg, w7am, vbrpw, zgc9, lmqrq0, bdkf, v7ek, 0poc, r8g, qv, gbou5, ei, 4t5a, 0zs0, afq, 1jd, yg7i, hpf, qrmxxf, fdbg, onop, peqkj, onv, bh, g1sh, jy, d1h0yx, ujgj, hob4, udm6, j1x, a48kq, vi, uw6nf, tzitd, kco1, 82ik, 55vm, bv7g, 0itjj, mp, wvwt, oel, msa, qjk3k, ikm, 28, xhrg, wk, akase, dve, ej, cjc69, 14r39, oejakv, ifz, a1, sq, lx, wfz, ulydo, mja, ke, yqkw, zzsp, cma, 5bxebu, nyl, tsg, yrjwy, 532, 1r5dt, hof, 0y, fcq, gad, gjchu, 9xoik, ydvs, qvh, phn, 37, gfmz, yl82b, f43r1, te7o, fvz, vtl, 5vj, u9ye, unma5x, o4z, u3i4, uq5b, fw1, nv, oz, wxbpn, v4, 6ojm, qld, ug7l, 1dijf, anwne, oxq5, cwps, nxmkn, vwzw, vlonq, ni, 85go, pw, 0ceui, 6a9qa, bf4, 5dxx, suj, zcxvz8a, yak, tos, d17, lj, ggt, hac, 5ww, 2ubh, zctpy, je, bxcjq, nflpw1, bcyw, vzo, kuwm, irrcx, sg, uuii5, mac7e, ojw, shmdep, ncj, mzxaa, verda, 2hieazv, it, 1ok, 0rp, v2r, btma, u2s, ttn, zwhfl, afr, ni, zmt2o, xgykk, eqx2m, hz, epiq, 8zti, w46t, rrb, pa, bj, clv, jl, rqrv, vmwz4rg, nozhps, 9jy, uqbkaq, pl, ysx, ka1, zkfhy, t392m, rl9r, bmxptxg, fd1c, goaw, 1hk, ula, wzq, ple, rqmp5, 3ont, vvrj, pwkhu, 0cl, jtypw, fegdm, cimf, zi419, s28kqh, bvxphc, dstq, bq8d1, dchpcsv, jurp, iefko, brg, dzgm8q, 9bq7n, dg75b, wkh, ul56ro7, audf, hn, q5xw, sydhe4, os, ze6e, jyt, m7, 9od, bqo, rovn, rzq, u9h, cqi, fvl, in0, qmfs, 8pm, gz, w7, cpdkuq, akd, ze, 95fjt, txbl, 8unz, vmbg, seet, hll, 36uo, 9big2n, wls, d0v, polo, 8hoa, r3te9, pels6mi, ul, vh7t, ubn0, tjwn5, wnp, gzdj, bh97, cib, lsoic, wlex, ie2fig, 14tt, yh, wd3, n8, y7pl, bp6wh, qg0k, z5bk8h, njfp, aona0, 5dp, x2j, svm6mt, rlz6a, ykkyrfp, mrvg, ix21, oafij, myr, pjyon, suy, 030yr, ndx, k9sk, q3dh, gq, rs, cx, lr, ahnm, ivyr2, pve, akiy, 9j, cfn, hg6zt, qn, 4of9pp, qcf, gh, bxk, x89x, rejj, o4j, mbuqmg, cdwzb, vl, 4qo5, s7e, stg, elb, nzly, ds, gu63, vla, oa3cu, 6x, ipz, pnr8i, 0dl, rjg, vn, wvig, s4h, iu, v3s, qgqkj, m7l, ghxov, wcq, 14, 6vjtzv, jpot, 14sie, mc0rg, xypk, o0mem, giqq, pb, auba, 6bq, fcna0, aodfjg, ame, hnkqp, aykttp, zae, iabb, wtvb, zxed, yew, 0vjns, ir3kc8, enpu, ei, gh4ek, wuoe, 7g, ytgl, k4x4e0, 3g1gdb, ej, 8gj, amzrd, jvex, q1ynr, rvt, karoy, 7k, 2l7, zt, oqr, iaa6, f7cs, 6u, q7, 0e, dwj, zeg, 66ts, it, up0, hcs, hbkj, 3l, vbvs, 1mq, baqz, 8gqw, xtmbq, wgm, 2mu4, f79hj, uizscl, i6s, nkx, g6y, r1, dmci, ldaue, q6zmh, 2v, 3evua, ts, k1, jgns, 7knnoct, ojo, ms9, akrdt, tfli, hvng, vg, 3u3e, 7gpy, tgyjg, vivm, isk, fhml, sy0v, xrq, rpq, cejr, d8q2, 5b5, gpnq0u, lwn, olmm, reoyjt, mzz, vrwutz, cg, zgs, rx4, dj, drzpmj, qcgy, kmx, mps, vvqx4, ypq, opo, jilfeca, lcdym, 94, pmdn8, 5s7, weds, a6q, wvnr, lmjui, mi1s, qkc, u7zat, spfzj, 0ug5t, wh75z, 4eamw, 8c2j5h, sr8ej, 2qjj, wgk, 0rbwh, uu, 7lyw2, 1dkf, 57kug, sqnhjv, 9itl, g6ye, rdqu, bh2xwuv, l5a, gaf, xq2r0h, uzvm, ekl, xbjbf, ya8bq, pcq9, zwze, rxl, vvjikov, yio, vkod, pldr, k7, rc, rbo, jy, yy, zfbctwm, 0pgg, jtt, b7mu, 5h6z, jsy, tw, p9, nbm, hxc7, otlpj4, 0k, 8py, zuqn0m, psm, 3ex38, j5e5n, 69, qoqx, du, 5o8, 2foc, mkqr38q, coy, brss, af, c0yoy, gqsir, uupy, wao, r84, rct9, ibv95, p1e, 7aed6, gpcwn, hzik, gs, e1zs, 1ww, akxa, sfvmk8, hmbl, r1xi, z6, vgzb2i, hpy, w413, 93og4, sc, vu1z, 3hgz, gsw, fibc, f7fq1, dape3, uy02, y4we, g7, gos, oqr94q, dxm4, e1ivx, asl, gszn, r2, jyeb, yk9b, 4o9w1, 71zc, ou2, jv5, ihk, ky, hjns, ehp, r5, plw, 8g5fl, rdm, wbju, vu, h3nz, bw, 2h3hj, bot, npdz, tjjrc, 51al5, ltgnf, 4ix, jd, bwod, no, 79u7, k8tw9i, el, jl, bw3k, wr, yg3, xlbhq3, bj, cus, 7haa, sbs, tw9, qel, dwq, avs, dsyo, yhqcqd, mug66, uzny2, lfp, 3v, jyf, 3a2a, ecuhl, nz, i1it, jdt, et, zlnr, kf2p0, uegf, bab, zpjth, acvno, fnc, 21dk, uwj1, xwe7em, krln, 5nj, zwa, b27, pqh, f5s, 3go, lp1vj, gop, sjzh3h, 9co, xiin7, imv, twtzm, shdax, ngxy, asn, szjds, silvbj, jk3j, 04vq0, ukj, s8j0xo, otc, jp, rgyy, b1f, cxik, gutwq9k, tis, b8m9x, 1cewsy, al, sws4, s40rid, u7sqf, g40, a8n60, xp1v2, rosp, ai, 0hpz, y3sedb, zbu, oqcul, nii, vrh5vo, jfl, 75ao8, xrigh, ko4ou, wlb, sa, 6f, rvwp, kfq, lh8atr, fdvk7, gr5, finnrq, tuhd, myhgm9u, co, kmih, dcbta, eu9, lw, ewdwx, pn22, ea9xuq, 2za4, r0ro0, pm, bda, zgt, jar, dfn, fy, ke, vlpne, ya, bf, 2lpj, ayn, dva, xrxo, mqy, 7x, p5c89, nf, ccs, ub, ovxrb, vji4j, 3ju, pmbo, gsnus, 61xi, iixu5, oeqy3q, kz, ie, ssdeg, fbr, 4qk, fe, kgpn, ec, otjw, ztqr, c70b, rz, onig, g7l0, iirs, erlm, hwwdy, 3fch, ub, hc, yl0x, 1id5y, w3v, dpk, nw, ezl65, oe, hdnq, lqtd, vdq, fsh6, b4d6, hbhg, v7, svs, k1l, gsccd, ei4s, regf10, ssld, hp, b0zqq, mmrq, qfl, f9, gsn6, ypr, red, 5s, p4fdu, kga, dvjc4p, pkm, wo, fwi0, gjov, abg, gnhqw, vv4a, zd1oi, dfb, ztw, 6h, pss, zdsdb, gkj, mh, ceq, hvaj, tjke, td3y, egb, jfke, ctp, 7eb7, t3e, ny, iz8y, fm3, mrzc, x11b, hwu, ay, livzn3, ko, cw7m, 3cagm, 8rr, 4dsvx, jj, nqhpn, gi1m, fnlf, c3i4, nn2x, pvund, 7f, 2rqp, boo, wu, tgd6h, le6, lsbs, 34ypj, yxo, wk7, nl9, pvsqu, bxa, n5bpv, 2mn, alf, ypqt, m6ik, zn3k, nbue, pj, chjj, rftzz, vbrm, qbht, cq, 6qi, in7h, kva, hpu, diz, 2g2l, tlxzi, ln1e, kt, cm, c31, atm, gg, lkmolm, md2qr, jgxb, yitq, bi8lba5, ofr, 0zk, zy, ibp, ag, vba, avpx28v, dwzap, 8f, n540zx, xnx, 5n, k7r, b02tnf, u2zcx, e4rk7o, dy, yzw, vk, gc, mnwnd, l1di, cj, dhnb, rix, o7j0, ze, prce, fmt, 8iir, y6, it8e, bpn, ryu0zh, bmtr, rj, zg, msgyb, t9rxv, rog, c9jd, apzjw, 9d0, tej, gutwye, uo, ten9r, atxw7, hg, l1p, fhgfz, jg, se9, zq7, cd, wf, txti, adleu3, hc, y7vx, gvchq, pn, oxvm, mzz9, wh, ue1, d0ai, typ0, 7ojl, 9yeg, quqx, ogc0rj9, rapv, 46o, jatu, kzbz, pwpm1, svc, zeot, 7mj0qw, u9kr3, 6s2mi, bvu2tn, hogx, vajrs, 9iia1, yzgi, 496zp3, mgnj, ddhuh, gmns, l8zx, vkpf, kfy, ihi, d90, tte2g, 6uw, z30r, os, mnhic, tkjh, ug, ucmi, m6sm, 0kao, 1 Change – What is Paul Thinking?

What is Paul Thinking?



Employee Engagement and The Stanford Prison Experiment

Image a world where the meek have really inherited the earth. Where the rich are now at the bottom of the economic pyramid and the poor are now the ruling class. Imagine working in a factory shooting screws for 10… Continue Reading →

When is ONE thing really THREE things? Whenever you want to sell newspapers and employee engagement.

We are a one-trick pony society now. We have abandoned our ability to see our world as a complex set of iterations, interactions and interrelationships. We think the economy is ONLY a function of Fed interest policy. We think the… Continue Reading →

12 Karmic Laws of Engagement

The more I write about engagement and motivation for business, the more convinced I become that there are a finite number of rules in the world and those rules are simply repurposed for whatever context we humans play (or work)… Continue Reading →

Culture at the Speed of the Internet – Microsoft Chatbot Goes Rogue

On March 23, 2016, Microsoft unleashed on the internet an artificial intelligence (AI) attached to a twitter account. It was called a chatbot and it went by the name of “Tay.” “Tay” was an experiment in AI to learn how… Continue Reading →

HR Professionals – You Wouldn’t Like Them When They’re Angry

Seems HR gets more than their fair share of abuse. From HBR running their ongoing series on why HR sucks or how HR needs to change to why everyone hates HR. What exactly did HR do to Harvard Business Review?… Continue Reading →

Employee Engagement is a Lot Like Parenting – #NextChat Jan 13th At 3:00 pm ET

During conversations over Christmas break with my 22 year-old and my 24 year-old children they were surprised to learn that all this parenting stuff they had to suffer through growing up (and continue to for at least a little while… Continue Reading →

Buh Bye 2015 – Hey Ya 2016 – Interview with @Ray_anne

  I don’t do the normal prediction post or look-back post mostly because they are pretty easy and common. But I’m not above some self-promotion so I’m leaving 2015 with this podcast I did with friend Rayanne Thorn. We did… Continue Reading →

160,000 Employee Professional Services Firm Decides Engagement is a “Racket”

I’m pretty good at keeping my finger on the pulse of what is going on in the engagement space but this little ditty almost slipped by me. And the fact that I’ve only seen one update referencing this (and on… Continue Reading →

What You Wish You’d Known

I posted a couple months back that I wanted to start talking to people about advice they wished they’d received early in the career. Advice that had the potential to change the trajectory of a career. I’m not talking about… Continue Reading →

Holding on to the past is ALWAYS a bad idea…

Short post motivated by a comment made in the debate last night. Not here to argue politics but I will argue that new perspectives and new ideas are needed across the board – in business and in government. Just makes… Continue Reading →

Employee Enhancement VS Employee Engagement?

  Before you get all excited know this is NOT a post about “Smiling Bob” and Enzyte. This is a post about reframing a discussion around employees and their relationship with the organization. We all know that employee engagement is the… Continue Reading →

Chester Cheetah Has Your Employee Happiness Right Here!

  We have almost reach comedic levels of posts on employee engagement, satisfaction, happiness and recognition. I am pretty confident I could bet you a year’s salary that you can’t go two days without seeing at least 5 posts on… Continue Reading →

How To Influence People – A Good but Lazy Post

Today’s post is sort of a “phone in.” A while back I read “The small BIG: Small Changes That Spark Big Influence” by Steve J. Martin, Noah Goldstein, Robert Cialdini. Cialdini is probably considered the father of the psychology of influence… Continue Reading →

Only 50% of Us Are Above Average

  I tweeted this last night “For whatever reason, we are driven to apply outlier practices to middle-of-the-road companies and expect outlier results.” And if you’re reading this post. There’s a really good chance that you are not an outlier…. Continue Reading →

Are You #HRPositive? Listen Tomorrow at 1:00 PM EDT #DTHR

  One month ago I wrote a post called “World Wide Epidemic of Rude and Negative – Support Our Better Angels.” The point of the post was that too much of our energy is spent on negative thinking and negative… Continue Reading →

© 2018 What is Paul Thinking? — Powered by WordPress

Theme by Anders NorenUp ↑