Skip to content

Instantly share code, notes, and snippets.

View ahmu83's full-sized avatar
🎯
Focusing

Ahmad Karim ahmu83

🎯
Focusing
View GitHub Profile
@ahmu83
ahmu83 / export-mysql-db.sh
Created May 20, 2024 14:04
This is a Bash script designed to export MySQL databases into various formats including plain SQL, compressed ZIP, and GZIP files.
#!/bin/bash
# USAGE:
#
# sh export-mysql-db.sh
# bash export-mysql-db.sh
#
# OR
#
# chmod +x export-mysql-db.sh
@ahmu83
ahmu83 / import-mysql-db.sh
Created May 20, 2024 13:58
This is a Bash script to import a MySQL database using either standard TCP/IP connections or Unix sockets
#!/bin/bash
# USAGE:
#
# sh import-mysql-db.sh
# bash import-mysql-db.sh
#
# OR
#
# chmod +x import-mysql-db.sh
@ahmu83
ahmu83 / bulk-search-replace.sh
Last active July 22, 2024 20:04
A Bash script designed to automate the search and replacement of strings in SQL files (or any large text file)
#!/bin/bash
# USAGE:
# bash bulk-search-replace.sh dbfile.sql
# OR
# chmod +x bulk-search-replace.sh
# ./bulk-search-replace.sh dbfile.sql
#
# Update the search_replace array with the
# strings to search and replace before running the script
@ahmu83
ahmu83 / enqueueStyle.js
Created September 20, 2023 16:52
Dynamic Style Enqueuing for the DOM
/**
* Enqueue styles dynamically into DOM.
* Example usage
*
* enqueueStyle({
* 'splide-styles': {
* url: 'https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/css/splide.min.css',
* },
* });
*
@ahmu83
ahmu83 / enqueueScript.js
Created September 20, 2023 16:49
Dynamic Script Enqueuing for the DOM
/**
* Enqueue scripts dynamically into DOM.
* Example usage
*
* enqueueScript({
* 'html2canvas': {
* id: 'html2canvas',
* url: 'https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js',
* onload: () => {
* // code
@ahmu83
ahmu83 / elementInViewport.js
Created June 12, 2023 15:23
Check if an element is in the viewport using getBoundingClientRect method
/**
* Check if an element is in the viewport using getBoundingClientRect method
*
* Copied from: https://www.30secondsofcode.org/js/s/element-is-visible-in-viewport/
*
* @param object el Element object
* @param boolean partiallyVisible If element is partially visible or not
* @return boolean
*/
function elementInViewport(el, partiallyVisible = true) {
@ahmu83
ahmu83 / redirect.js
Created June 12, 2023 15:10
Function to redirect to a url with the all the current URL params
/**
* Function to redirect to a url with the all the current URL params
*
* @param string url
* @param object params
* @param boolean dontCarryParams
*
* usage:
* redirect('http://example.com', {param1: 111, param2: 222})
* will redirect to http://example.com/?param1=111&param2=222
@ahmu83
ahmu83 / dispatchAnEvent.js
Created June 12, 2023 15:00
Dispatch an event using CustomEvent constructor, that can be listened to using addEventListener method
/**
* Dispatch an event using CustomEvent constructor,
* that can be listened to using addEventListener method
*
* Example usage:
*
* dispatchAnEvent('my-custom-event', {data: 'The data'})
*
* window.addEventListener('my-custom-event', function(event) {
*
<?php
/**
* This function should be only used in AJAX templates & AJAX callbacks.
*
*
* Use cases of this function are when you need to get a URL param inside a
* PHP template rendered through AJAX or an AJAX callback that needs access
* to the parent URL param (From where the ajax call was made). i.e,
* calling ajax.php from http://exmple.com/my-page/?param1=v111&param2=v222.
* A header of URLPARAMS needsto be added to the request headers. i.e, using
@ahmu83
ahmu83 / get-next-dates.php
Created September 5, 2022 15:52
Get next n number of dates from a specified date or the current date
<?php
/**
* Get next n number of dates from a specified date
*
* @param Integer $n Number of dates
* @param String $from Now or the from date
* @param Boolean $exclude_weekends Exclude weekends
* @return Array
*/