Skip to content

Instantly share code, notes, and snippets.

View woraperth's full-sized avatar
🏠
Working from home

Perth Ngarmtrakulchol woraperth

🏠
Working from home
View GitHub Profile
@woraperth
woraperth / custom_schema.py
Created June 21, 2020 11:58
PySpark: Set Custom Schema
# Reference: https://stackoverflow.com/questions/57901493/pyspark-defining-custom-schema-for-a-dataframe
table_schema = StructType([StructField('ID', StringType(), True),
StructField('Name', StringType(), True),
StructField('Tax_Percentage(%)', IntegerType(), False),
StructField('Effective_From', TimestampType(), False),
StructField('Effective_Upto', TimestampType(), True)])
df = spark.read.format(file_type) \
.option("header", "true") \
@woraperth
woraperth / note.md
Created December 29, 2018 11:32
How to install WordPress Project built in MAMP, on Local by Flywheel
  1. Create project in Local by Flywheel
  2. Pull git project to ~/Local Sites/(project name)/app/public
  3. Go to Local by Flywheel, right click the project > Open Site SSH
  4. cd ./app/public folder
  5. Import the database using: wp db import xxxxx (If it comes in .sql.gz form, we may need to run 'gunzip' on the file first)
@woraperth
woraperth / template-functions.php (for CPT)
Last active March 13, 2020 12:41
[WordPress] Add ACF Admin Column to Custom Post Type (In this example, CPT name = events & ACF column name = event_date). This also make the column sortable.
// Add ACF Columns
function add_new_events_column($columns) {
$columns['event_date'] = 'Event Date';
return $columns;
}
add_filter('manage_events_posts_columns', 'add_new_events_column');
function add_new_events_admin_column_show_value( $column, $post_id ) {
if ($column == 'event_date') {
<form role="search" method="get" id="searchform"
class="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<div>
<label class="screen-reader-text" for="s"><?php _x( 'Search for:', 'label' ); ?></label>
<input type="text" value="<?php echo get_search_query(); ?>" name="s" id="s" />
<input type="submit" id="searchsubmit"
value="<?php echo esc_attr_x( 'Search', 'submit button' ); ?>" />
</div>
</form>
@woraperth
woraperth / template-functions.php (for taxonomy)
Last active June 9, 2018 10:19
[WordPress] Add ACF Admin Column to taxonomy (In this example, taxonomy name = product_category & ACF column name = english_name)
// Add ACF Columns
function add_new_product_cat_column($column) {
$column['english_name'] = 'English Name';
return $column;
}
add_filter('manage_edit-product_category_columns', 'add_new_product_cat_column');
function add_new_product_cat_admin_column_show_value( $content, $column_name, $term_id ) {
@woraperth
woraperth / fb.js
Created November 2, 2017 07:01
Bulk invite in Facebook page
// Run this in console when the invite list page is opened e.g. click the number of likes on each post
// Caution: use at your own risk! Facebook may temporarily ban your action if you invite too many (100+) at a time.
var x = document.querySelectorAll('._42ft._4jy0._4jy3._517h._51sy:not(._5f0v)')
for(var i=0; i<x.length; i++){
x[i].click();
}
@woraperth
woraperth / webSocket.js
Last active April 6, 2024 20:56
JavaScript Singleton to connect to WebSocket (originally for React project)
// Thank you Ranatchai Chernbamrung for sample socketIO singleton pattern
// This code is originally for my React project, but should work with any ES6 project that support `import` statement
// How it works
// 1. Create webSocket.js to establish the connection and retrieve the connection
// 2. In main file, import webSocket.js to establish the connection
// 3. In other component files, import webSocket.js to retrieve the connection
// webSocket.js
let client
@woraperth
woraperth / inlineimg.php
Created April 24, 2017 15:39
Add Inline Image in FPDF
class PDF extends FPDF
{
// Inline Image
function InlineImage($file, $x=null, $y=null, $w=0, $h=0, $type='', $link='')
{
// ----- Code from FPDF->Image() -----
// Put an image on the page
if($file=='')
$this->Error('Image file name is empty');
if(!isset($this->images[$file]))
@woraperth
woraperth / wp-get-youtube-thumb.php
Last active August 3, 2022 20:39
[WordPress] Get Youtube video thumbnail from URL & Set as Featured Image
// Get Youtube URL
$yturl = 'https://www.youtube.com/watch?v=HhAKNSsb4t4';
preg_match("/^(?:http(?:s)?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?v(?:i)?=|(?:embed|v|vi|user)\/))([^\?&\"'>]+)/", $yturl, $matches);
$video_id = $matches[1];
// Get Thumbnail
$file_headers = get_headers( 'http://img.youtube.com/vi/' . $video_id . '/maxresdefault.jpg' );
$is_404 = $file_headers[0] == 'HTTP/1.0 404 Not Found' || false !== strpos( $file_headers[0], '404 Not Found' );
$video_thumbnail_url = $is_404 ? 'http://img.youtube.com/vi/' . $youtube_id . '/maxresdefault.jpg' : 'http://img.youtube.com/vi/' . $video_id . '/hqdefault.jpg';
@woraperth
woraperth / wp-config.php
Last active April 29, 2017 14:31
WordPress Config for Ngrok
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
// Run ngrok by:
// ./ngrok http -host-header=dev.test.com 80