Skip to content

Instantly share code, notes, and snippets.

View siteslave's full-sized avatar

Satit Rianpit siteslave

View GitHub Profile
// Create Base64 Object
var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/\r\n/g,"\n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://cvp1.moph.go.th/api/ImmunizationHospitalSlot?Action=GetHospitalSlotByMonth&hospital_code=11053&year=2021&month=9&vaccine_plan_no=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
@siteslave
siteslave / smarthealth_101.sql
Created May 22, 2021 08:46
smarthealth_101.sql
-- public."admin" definition
-- Drop table
-- DROP TABLE public."admin";
CREATE TABLE public."admin" (
id uuid NOT NULL DEFAULT gen_random_uuid(),
first_name varchar(150) NOT NULL,
last_name varchar(150) NOT NULL,

process.json


{
  "apps": [
    {
      "name": "api",
      "script": "/home/api/dist/main.js",
 "instances": 4,
search(cid: any, token: any) {
var options = {
method: 'GET',
url: 'http://203.157.103.178/api/v1/search/' + cid,
headers: {
Authorization: 'Bearer ' + token
}
};
return new Promise((resolve: any, reject: any) => {
///
Future uploadFile(File imageFile, int employeeId) async {
try {
EasyLoading.show(status: 'อัปโหลดไฟล์...');
String token = await storage.read(key: "token");
await api.uploadImage(employeeId, imageFile, token);
EasyLoading.showSuccess('อัปโหลดสำเร็จ');
getEmployees();
} catch (error) {
EasyLoading.showError('เกิดข้อผิดพลาด');
/*
main.dart
localizationsDelegates: [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: [
const Locale('th', 'TH'),
],
import 'dart:io';
import 'package:dio/dio.dart';
String baseUrl = 'https://xxx.com/api';
Dio dio = new Dio(new BaseOptions(
baseUrl: baseUrl,
receiveDataWhenStatusError: true,
connectTimeout: 60 * 1000,
@siteslave
siteslave / password.js
Created February 4, 2021 15:09 — forked from soplakanets/password.js
Password hashing for node.js
var crypto = require('crypto');
var SaltLength = 9;
function createHash(password) {
var salt = generateSalt(SaltLength);
var hash = md5(password + salt);
return salt + hash;
}
@siteslave
siteslave / cryptojs_aes_encryption_helper.dart
Created December 21, 2020 06:04 — forked from suehok/cryptojs_aes_encryption_helper.dart
Cryptojs aes password encryption helper for dart
import 'dart:convert';
import 'dart:math';
import 'dart:typed_data';
import 'package:crypto/crypto.dart';
import 'package:tuple/tuple.dart';
import 'package:encrypt/encrypt.dart' as encrypt;
String encryptAESCryptoJS(String plainText, String passphrase) {
try {
final salt = genRandomWithNonZero(8);