insert inline notice

Notice::inline($message, $type = Notice_INFO, $group = false, $autoHideInSec = false, $disableCloseButton = false, $htmlOptions = array())

Rename All Files and Directory Names to Lowercase in Linux

Saved from https://www.tecmint.com/rename-all-files-and-directory-names-to-lowercase-in-linux/
#!/bin/bash
#print usage 
if [ -z $1 ];then
        echo "Usage :$(basename $0) parent-directory"
        exit 1
fi

#process all subdirectories and files in parent directory
all="$(find $1 -depth)"



for name in ${all}; do
        #set new name in lower case for files and directories
        new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')"

        #check if new name already exists
        if [ "${name}" != "${new_name}" ]; then
                [ ! -e "${new_name}" ] 

Age Gate (plugin) custom CSS

.age-gate-form h1 {
    color: #00787a;
}
.age-gate-background {
    background-size: auto;
    background-repeat: no-repeat;
}
.age-gate {
    margin: auto !important;
    bottom: 0px !important;
    position: absolute;
}
label.age-gate-label {
    font-weight: 700;
    display: block;
    text-align: left;
    padding-left: 25%;
}
.age-gate {
    background-image: url(https://975f4277db.nxcli.net/wp-content/uploads/2021/01/various-alcoholic-drinks-background.jpg);
    backg

Style on footer when making Contact Info link white (Dawn)

footer .block--disclaimer-block a, footer .block--dawn-footer-info a {
    color: #FFFFFF;
    text-decoration: underline;
}
footer .block--dawn-footer-info .social-media-container a, footer .block--dawn-footer-info a.button {
    text-decoration: none;
}
footer .block--disclaimer-block a:hover, footer .block--dawn-footer-info a:hover {
    opacity: 0.72;
}
footer .block--dawn-footer-info a.button:hover, footer .block--dawn-footer-info .social-media-container a:hover {
    opacity: in

WooCommerce Discontinued Product Type

<?php
/*
Plugin Name: *WooCommerce Discontinued Product Type
Author: Rachael Portier
Version: 2.0
Description: Mark products as discontinued with the ability to link customers to newer models and disable outdated products from being purchased.
*/
/* Start Adding Functions Below this Line */
 

function my_plugin_settings_link($links) { 
  $settings_link = '<a href="plugin-editor.php?plugin=woocommerce-discontinued-products%2Fwoocommerce-discontinued-products.php&Submit=Select">Edit</a>'; 
  arra

Custom CSS for designing Facet Radio filtering as Taxonomy Button filters

/* Custom Facet Radio filtering for Articles (blog)
 * ------------------------------------------ */
.articles-facet-filtering .facetwp-facet.facetwp-facet-categories.facetwp-type-radio > div.facetwp-radio.checked {
    color: #ffffff;
    background: #A6A6A6 !important;
}

.articles-facet-filtering .facetwp-facet.facetwp-facet-categories.facetwp-type-radio > div.facetwp-radio {
    background: #EFEFEF !important;
    color: #2a2a2a;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-lef

python repository pattern

from typing import Optional, Any, Dict, Sequence

ConfigDict = Dict[str, Any]

class Repository:
    _default = {}
    def __init(self, config: Optional[ConfigDict] = None):
        self._config = config
        if config:
            self._config = conservative_merger.merge(config, self._default)
    
    @property
    def config(self) -> ConfigDict:
        return self._config

class TerrainADC(ICamera):
    def __init__(self, config: Optional[ConfigDict] = None):
        self

Async Seed Data to Firestore Emulator

getSeedData().then((result) => {
  console.log(result)
  const obj = result
  Promise.all(
    [...Array(10).keys()].map((_) =>
      db.collection('jobs').add({
        approved: obj.approved,
        companyDescription: obj.companyDescription,
        companyEmail: obj.companyEmail,
        companyHQ: obj.companyHQ,
        companyLogo: obj.companyLogo,
        companyName: obj.companyName,
        companyWebsite: obj.companyWebsite,
        howToApply: obj.howToApply,
        jobDescription: 

SQL

## DAT TYPES

## SELECT

## JOIN

## GROUP

## Aggregation func

## INDEX

## OPTIMIZATION

9C - Zip function - Combining variables into single variable & Loops

pet_owners=["Paul","Andrea","Marta"]
pets=["Fluffy","Bubbles","Captain Catsworth"]

pets_and_owners=zip(pet_owners,pets)

print(list(pets_and_owners))

#Zip in loops
#Iterate over two or more iterables at once in a loop


for owner,pet in zip(pet_owners,pets):
    print("{0} owns {1}".format(owner,pet))

9B - Enumeration - Generating a counter

# enumerate() is a function that generates a counter alongside values in an iterable

#Example

names = ["Harry","Rachel","Brian"]

for counter, name in enumerate(names):
    print("{0} {1}".format(counter,name))
    
# What enumerate contains in this case is a series of tuples like this:
# (0, "Harry"), (1, "Rachel"), (2, "Brian")

#Can start counter at 1:
names = ["Harry","Rachel","Brian"]

for counter, name in enumerate(names,start=1):
    print("{0} {1}".format(counter,name))

9A - Multiple variables in loop

movies = [
	(
		"Eternal Sunshine of the Spotless Mind",
		"Michel Gondry",
		2004
	),
	(
		"Memento",
		"Christopher Nolan",
		2000
	),
	(
		"Requiem for a Dream",
		"Darren Aronofsky",
		2000
	)
]

#Old way of doing it 
count=0
for movie in movies:
    print("{0} {1} by {2}".format(movies[count][0],movies[count][2],movies[count][1]))
    count=count+1

#Using multiple variables in for loop
#Python 
for title,director,year in movies:
    print(title + " " + str(year) 

Day 9 - Unpacking, Enumeration, and the zip Function

# Day 9 - Unpacking, Enumeration and Zip function

#Unpacking - extracting individual values from some iterable
movies = [
	(
		"Eternal Sunshine of the Spotless Mind",
		"Michel Gondry",
		2004
	),
	(
		"Memento",
		"Christopher Nolan",
		2000
	),
	(
		"Requiem for a Dream",
		"Darren Aronofsky",
		2000
	)
]

#Old way of doing it 
count=0
for movie in movies:
    print("{0} {1} by {2}".format(movies[count][0],movies[count][2],movies[count][1]))
    count=count+1

#Usi

change font style nuke

nuke.toNode('Grade1')['note_font'].setValue("arial bold italics")

8F - Prime generating loop

primes = []

for dividend in range(2, 101):
	for divisor in range(2, dividend):
		if dividend % divisor == 0:
			break
	else:
		primes.append(dividend)

print(primes)


#### OR ###

primes = []
for possiblePrime in range(2, 15000):
    
    # Assume number is prime until shown it is not. 
    isPrime = True
    for num in range(2, possiblePrime):
        if possiblePrime % num == 0:
            isPrime = False
      
    if isPrime:
        primes.append(possiblePrime)

8E - While loop with Else clause

#Else clause with while loop
dividend = int(input("Please enter a number: "))
divisor = 2

#We want to check if integers below our input divide out input perfectly, if not our number is prime
while divisor < dividend:
    if dividend % divisor == 0:
        print("{} is not prime!".format(dividend))
        break
    divisor = divisor + 1
else:
    print("{} is prime!".format(dividend))