Skip to content

Instantly share code, notes, and snippets.

@trytone
trytone / blocklayered.php
Created July 6, 2017 08:59
PrestaShop - Fix features with manufacturers filters
// replace this function in modules/blocklayered/blocklayered.php
private static function getId_featureFilterSubQuery($filter_value, $ignore_join = false)
{
if (empty($filter_value))
return array();
$query_filters = ' AND EXISTS (SELECT * FROM '._DB_PREFIX_.'feature_product fp WHERE fp.id_product = p.id_product AND (';
foreach ($filter_value as $filter_val){
$query_filters .= 'fp.`id_feature_value` = '.(int)$filter_val.' OR ';
}
$query_filters = rtrim($query_filters, 'OR ').') ';
@trytone
trytone / Search.php
Last active January 17, 2018 08:38
PrestaShop More Accuracy Search module
<?php
class Search extends SearchCore{
public static function find($id_lang, $expr, $page_number = 1, $page_size = 16, $order_by = 'quantity',
$order_way = 'desc', $ajax = false, $use_cookie = true, Context $context = null)
{
if (!$context) {
$context = Context::getContext();
}
@trytone
trytone / utf8-polish.pl
Created February 9, 2018 14:18
Perl - Remove polish characters from UTF-8 string
use utf8;
use Encode qw(decode encode);
# Source code should be saved in UTF-8 encoding
my $sting = 'ąćźłóżęĄĆŹŁÓŻĘ';
my $nonUTF = encode("UTF-8", $sting);
my $filters = {
@trytone
trytone / scale-PDF.pl
Last active February 11, 2018 20:31
Perl PDF::API scale
use PDF::API2;
my $filePath = 'example.pdf';
my $scale = 0.82; # Scale 82%
my ($x,$y) = (-13,113); # Coordinates
my $old_pdf = PDF::API2->open($filePath); # Open existing PDF file
my $pdf = PDF::API2->new(); # Open empty new PDF Document
my $page = $pdf->page();
my $gfx = $page->gfx();
@trytone
trytone / varcount.pl
Created February 11, 2018 21:06
Perl - count variables in source code
use Data::Dumper;
# usage: perl varcount.pl source.pl
open(X,$ARGV[0]);
my @lines = <X>;
close(X);
my $lineCount = 1;
my $variables = {};
foreach my $line (@lines){
@trytone
trytone / tk-touch-keyboard.pl
Last active February 19, 2018 16:13
Perl Tk - Simple touch keyboard
sub keyboard{
# init by : keyboard(\$mw->Frame()->pack(-side => 'bottom', -anchor => 'se'));
my $ref = shift;
my @numbersArray = ([(7..9)],[(4..6)],[(1..3)]);
my $keyboardFont = $$ref->Font(-size => 18);
my $keyboardFrame = $$ref->Frame(-padx => 10, -pady => 10)->pack( -fill => 'y', -expand => 1);
my $keyboardLeft = $keyboardFrame->Frame()->pack(-side => 'left');
my $keyboardRight = $keyboardFrame->Frame->pack(-side => 'right', -anchor => 'ne', -fill => 'both', -expand => 1);
@trytone
trytone / manta-3204.irplus
Last active August 29, 2018 19:34
IRPlus - Manta 3204
<irplus>
<device manufacturer="MANTA" model="3204" columns="12" format="WINLIRC_NEC1" bits="16" pre-bits="16">
<button label="&#61457;" labelSize="25.0" span="4" backgroundColor="FFC84334">0x04fb 0x4ab5</button>
<button label="&#1045889;" labelSize="25.0" span="4">0x04fb 0xca35</button>
<button label="TV/AV" labelSize="18.0" span="4">0x04fb 0x02fd</button>
<button label="EPG" labelSize="18.0" span="4">0x04fb 0xea15</button>
<button label="P+" labelSize="18.0" span="4">0x04fb 0x40bf</button>
<button label="EXIT" labelSize="18.0" span="4">0x04fb 0x50af</button>
@trytone
trytone / panasonic-sa-ak18-remote-codes.txt
Created August 29, 2018 19:35
Panasonic SA-AK18 REMOTE HEX CODES
POWER: 0x0538 0xBC81
VOL-: 0x0500 0x8481
VOL+: 0x0500 0x0401
AUX: 0x0500 0x595C
AUTO OFF: 0x0538 0x1924
SLEEP: 0x0538 0x6954
MUTING: 0x0500 0x4C49
DISK: 0x0550 0x2570
>=10: 0x0538 0x211C
@trytone
trytone / mitm_proxy.js
Created March 20, 2019 20:05
Node.js MITM HTTP proxy
var http = require('http');
var httpProxy = require('http-proxy');
var body = require("body");
var proxy = httpProxy.createProxyServer({secure:false});
proxy.on('proxyReq', (proxyReq, req) => {
if (req.body) {
console.log(req.body);
proxyReq.setHeader('Content-Length', Buffer.byteLength(req.body));
proxyReq.write(req.body);
@trytone
trytone / EUFY_RoboVac11.irplus
Last active January 28, 2020 10:58
irplus xml for EUFY RoboVac11
<irplus>
<device manufacturer="EUFY" model="RoboVac V11" columns="12" format="PRONTO_HEX" repeatheader="false" frequency="38028">
<button label="&#1045214;" labelSize="20.0" span="6">0000 006D 002A 0000 0072 0072 0013 0013 0013 0039 0013 0039 0013 0013 0013 0039 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0039 0013 0039 0013 0039 0013 0039 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0039 0013 0039 0013 0039 0013 0013 0013 0039 0013 0039 0013 0039 0013 0072</button>
<button label="AUTO" labelSize="20.0" span="6" backgroundColor="FFC84334">0000 006D 002A 0000 0072 0072 0013 0013 0013 0039 0013 0039 0013 0013 0013 0039 0013 0013 0013 0013 0013 0013 0013 0039 0013 0013 0013 0039 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 001