Skip to content

Instantly share code, notes, and snippets.

View gskema's full-sized avatar

Gytis Šk. gskema

  • Kaunas, Lithuania
View GitHub Profile
@gskema
gskema / blockuserinfo.php
Last active August 29, 2015 14:20
Overrding PrestaShop module instance class
<?php
if (!defined('_PS_VERSION_'))
exit;
class BlockUserInfoOverride extends BlockUserInfo
{
public function hookDisplayNav($params)
{
return '<div class="header_user_info"><a>Test</a></div>';
@gskema
gskema / blocktopmenu.php
Created May 10, 2015 07:56
Unextendable class methods
class BlockTopMenu extends Module
{
private $_menu = '';
private $_html = '';
private $user_groups;
...
private function getMenuItems(){ ... }
@gskema
gskema / blockuserinfo.php
Created May 10, 2015 08:21
Minor method modification: 'company_name'
<?php
if (!defined('_PS_VERSION_'))
exit;
class BlockUserInfoOverride extends BlockUserInfo
{
public function hookDisplayTop($params)
{
if (!$this->active)
@gskema
gskema / blockuserinfo.php
Created May 10, 2015 08:28
Clean method override
<?php
if (!defined('_PS_VERSION_'))
exit;
class BlockUserInfoOverride extends BlockUserInfo
{
public function hookDisplayTop($params)
{
$this->smarty->assign(array(
@gskema
gskema / index.html
Last active December 5, 2015 18:32
Bootstrap 3 Numeric Up and Down control (spinbox, spinner)
<div class="spinbox" data-min="1" data-max="10" data-step="2">
<input class="form-control spinbox-input" type="text" value="1">
<div class="spinbox-buttons">
<button class="spinbox-up btn btn-default btn-xs" type="button">+</button>
<button class="spinbox-down btn btn-default btn-xs" type="button">-</button>
</div>
</div>
<script type="text/javascript">
// jQuery must be available before binding events
@gskema
gskema / paginator.php
Created February 4, 2016 12:54
Binary pagination generator
<?php
/**
* Generates a pagination array
*
* @param int $total_items
* @param int $page_size
* @param int $current_page
* @return array $pagination
*/
@gskema
gskema / script.js
Created May 19, 2016 18:14
Bootstrap screen width change event JS
var resizeBuffer = null;
var prevWidthName = getWindowWidthName();
$(window).on('resize', function () {
clearTimeout(resizeBuffer);
resizeBuffer = setTimeout(function() {
var newWidthName = getWindowWidthName();
if (newWidthName != prevWidthName) {
prevWidthName = newWidthName;
$(document).trigger(newWidthName);
}
@gskema
gskema / NotificationRepository.php
Last active August 5, 2016 12:39
[SQL, PHP]: Fetch rows from two column ordered lists by specifying IDs
<?php
/**
* Returns customer notifications
*
* @param int|null $limit
* @param int|null $afterId
* @param int|null $beforeId
*
* [0]*************************************[totalRows]
@gskema
gskema / lpad.js
Created August 31, 2016 18:09
Left pad JavaScript string
export function lpad(pad, string) {
var trueString = '' + string;
return pad.substring(0, pad.length - trueString.length) + trueString;
}
@gskema
gskema / script.js
Created October 16, 2016 12:58
Cached jQuery .find and .closest methods. On repeated invokation, returns jQuery objects / DOM references from cache.
// jQuery warriors, assemble!
$.fn.cachedFind = function (selector) {
var cache = this.data('cached-find') || {};
if (undefined === cache[selector]) {
cache[selector] = this.find(selector);
this.data('cached-find', cache);
}
return cache[selector];
};