Skip to content

Instantly share code, notes, and snippets.

View jorgeuos's full-sized avatar

Jorge Powers jorgeuos

View GitHub Profile
@jorgeuos
jorgeuos / gist:1e04c7f4d6de3f6b588429657b11f6f1
Created July 22, 2025 13:00
Matomo: Track all Post and Fetch tag example
<script>
; (function () {
console.log('Loading Tracking Post and Fetch');
// remember original methods
var origXhrOpen = XMLHttpRequest.prototype.open;
var origXhrSend = XMLHttpRequest.prototype.send;
var origFetch = window.fetch;
// patch XHR
XMLHttpRequest.prototype.open = function (method, url) {
@jorgeuos
jorgeuos / fast-track.js
Created June 13, 2025 09:22
Matomo Console Functions
// Get VisitorID
_paq.push([ function() { console.log("VisitorId:", this.getVisitorId()); }]);
// Get UserId
_paq.push([ function() { console.log("UserId:", this.getUserId()); }]);
// Get MatomoUrl
_paq.push([ function() { console.log("MatomoUrl:", this.getMatomoUrl()); }]);
// Get PiwikUrl
LINK: https://github.com/matomo-org/matomo/blob/6ad8083c6ad550cb04d346149f7a684e3347bdbb/core/Common.php#L34
const REFERRER_TYPE_DIRECT_ENTRY = 1;
const REFERRER_TYPE_SEARCH_ENGINE = 2;
const REFERRER_TYPE_WEBSITE = 3;
const REFERRER_TYPE_CAMPAIGN = 6;
const REFERRER_TYPE_SOCIAL_NETWORK = 7;
./core/Period/Day.php: const PERIOD_ID = 1;
./core/Period/Week.php: const PERIOD_ID = 2;
./core/Period/Month.php: const PERIOD_ID = 3;
./core/Period/Year.php: const PERIOD_ID = 4;
./core/Period/Range.php: const PERIOD_ID = 5;
// ./matomo/vendor/matomo/device-detector/Parser/Device/AbstractDeviceParser.php
public const DEVICE_TYPE_DESKTOP = 0;
public const DEVICE_TYPE_SMARTPHONE = 1;
public const DEVICE_TYPE_TABLET = 2;
public const DEVICE_TYPE_FEATURE_PHONE = 3;
public const DEVICE_TYPE_CONSOLE = 4;
public const DEVICE_TYPE_TV = 5; // including set top boxes, blu-ray players,...
public const DEVICE_TYPE_CAR_BROWSER = 6;
public const DEVICE_TYPE_SMART_DISPLAY = 7;
@jorgeuos
jorgeuos / create_user.sql
Last active May 5, 2024 11:58
SQL CREATE NEW USER
-- mysql -u root -p
-- Check which users has access to a DB
SELECT * FROM mysql.db WHERE Db = 'DB_NAME';
-- Check user access from which hosts
SELECT User, Host FROM mysql.user;
-- Create a new user
# https://github.com/matomo-org/matomo/blob/ac90a02c4b6b768227355049260d8f455561fd28/core/Tracker/Action.php#L23
const TYPE_PAGE_URL = 1;
const TYPE_OUTLINK = 2;
const TYPE_DOWNLOAD = 3;
const TYPE_PAGE_TITLE = 4;
const TYPE_ECOMMERCE_ITEM_SKU = 5;
const TYPE_ECOMMERCE_ITEM_NAME = 6;
const TYPE_ECOMMERCE_ITEM_CATEGORY = 7;
const TYPE_SITE_SEARCH = 8;
curl --request POST \
--url https://api.sendgrid.com/v3/mail/send \
--header "Authorization: Bearer SG.USE_YOUR_SECRET_API_TOKEN_HERE" \
--header "Content-Type: application/json" \
--data '{"personalizations":[{"to":[{"email":"test@example.com"}]}],"from":{"email":"test@example.com"},"subject":"Testing SendGrid","content":[{"type":"text/plain","value":"Hello, Email!"}]}'
curl -f -sS https://plugins.matomo.org/api/2.0/plugins/LogViewer/download/latest?matomo=5.0.1 > plugins/LogViewer.zip
# Screen Quick Reference
## Basic
| Description | Command |
|---------------------------------------|---------------------------------------|
| Start a new session with session name | `screen -S <session_name>` |
| List running sessions / screens | `screen -ls` |
| Attach to a running session | `screen -x` |
| Attach to a running session with name | `screen -r <session_name>` |