Functions
Next Page: next_page_ID($id)
Previous Page: previous_page_ID($id)
$id
: The ID of the page you're trying to get the next or previous page for.
Examples
Functions
Next Page: next_page_ID($id)
Previous Page: previous_page_ID($id)
$id
: The ID of the page you're trying to get the next or previous page for.
Examples
<?php | |
if (!defined('_PS_VERSION_')) exit; | |
class TD_Shortcode extends Module { | |
protected static $initialized = false; | |
public function __construct() { | |
$this->name = 'td_shortcode'; | |
$this->tab = 'front_office_feature'; |
<?php | |
function prefered_language($available_languages, $http_accept_language) { | |
$available_languages = array_flip($available_languages); | |
$langs = array(); | |
preg_match_all('~([\w-]+)(?:[^,\d]+([\d.]+))?~', strtolower($http_accept_language), $matches, PREG_SET_ORDER); | |
foreach($matches as $match) { | |
You don't really need a framework or fancy cutting-edge JavaScript features to do two-way data binding. Let's start basic - first and foremost, you need a way to tell when data changes. Traditionally, this is done via an Observer pattern, but a full-blown implementation of that is a little clunky for nice, lightweight JavaScript. So, if native getters/setters are out, the only mechanism we have are accessors:
var n = 5;
function getN() { return n; }
function setN(newN) { n = newN; }
console.log(getN()); // 5
setN(10);
All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.
Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.
elem.offsetLeft
, elem.offsetTop
, elem.offsetWidth
, elem.offsetHeight
, elem.offsetParent
var touchstartX = 0; | |
var touchstartY = 0; | |
var touchendX = 0; | |
var touchendY = 0; | |
var gesuredZone = document.getElementById('gesuredZone'); | |
gesuredZone.addEventListener('touchstart', function(event) { | |
touchstartX = event.screenX; | |
touchstartY = event.screenY; |
FROM php:7.1-fpm-alpine | |
RUN apk add --update \ | |
autoconf \ | |
g++ \ | |
libtool \ | |
make \ | |
&& docker-php-ext-install mbstring \ | |
&& docker-php-ext-install mysqli \ |
For excessively paranoid client authentication.
Original: https://gist.github.com/mtigas/952344
openssl x509 -in server.crt -out server.der -outform DER
openssl x509 -in server.der -inform DER -out server.pem -outform PEM
job "grafana" { | |
datacenters = ["dc1"] | |
type = "service" | |
group "grafana" { | |
count = 1 | |
restart { | |
attempts = 10 | |
interval = "5m" |
These variables will be used for this snippet. Please substitute accordingly.
export RootCAName="root_ca"
export InterCAName="inter_ca"
export CommonName="hashidemos.io"
export InterCommonName="inter.hashidemos.io"
export Root_CA_ttl="730h"
export Inter_CA_ttl="350h"
export Cert_ttl="8h"