This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Asynchronous function to load a module-specific configuration script, execute it, and retrieve the configuration. | |
* | |
* Requirements: | |
* - URL parameter named 'module' which specifies the module name or pass the module name as an argument. | |
* - The module name in the URL or the argument can contain dashes which will be replaced with underscores to form the variable name. | |
* - Each module-specific script should define an asynchronous configuration variable using the naming convention: | |
* 'module_name_tabulator_edit_config'. | |
* - The scripts should be located at: 'session_data.app_http_root + local/tables/tabulator-edit/{module}.tabulator.js'. | |
* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
//-------------------------------------------------------- | |
// Example: | |
// | |
// $cars = [ | |
// ['id' => 999, 'value' =>'CARS', 'parent_id' => 0 ], | |
// ['id' => 11, 'value' =>'Toyota', 'parent_id' => 999], | |
// ['id' => 1, 'value' =>'Avalon', 'parent_id' => 11 ], | |
// ['id' => 2, 'value' =>'Corolla', 'parent_id' => 11 ], | |
// ['id' => 3, 'value' =>'Camry', 'parent_id' => 11 ], |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Looks for unquoted keys in a json string and fixes them ie: {a:"b"} => {"a":"b"} | |
* @param string $string A json string that is suspect | |
* @return string A valid json string | |
*/ | |
function fix_json($string){ | |
// (no qupte) (word) (no quote) (semicolon) | |
$regex = '/(?<!")([a-zA-Z0-9_]+)(?!")(?=:)/i'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function getBase64FromImageUrl(url) { | |
var img = new Image(); | |
img.setAttribute('crossOrigin', 'anonymous'); | |
img.onload = function () { | |
var canvas = document.createElement("canvas"); | |
canvas.width =this.width; | |
canvas.height =this.height; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$(document).ready(function() { | |
// Function to convert an img URL to data URL | |
function getBase64FromImageUrl(url) { | |
var img = new Image(); | |
img.crossOrigin = "anonymous"; | |
img.onload = function () { | |
var canvas = document.createElement("canvas"); | |
canvas.width =this.width; | |
canvas.height =this.height; | |
var ctx = canvas.getContext("2d"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo add-apt-repository ppa:sergey-dryabzhinsky/php53 | |
sudo apt-get update | |
sudo apt-get install php53-common php53-cli | |
# to see a list of available packages: | |
# apt-cache search php53 | |
# ex.: sudo apt-get install php53-mod-mysql | |
# Apache module: | |
sudo apt-get install libapache2-mod-php53 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Save a password hash: | |
// ====================== | |
$options = [ | |
'cost' => 11, | |
]; | |
// Get the password from post | |
$passwordFromPost = $_POST['password']; | |
$hash = password_hash($passwordFromPost, PASSWORD_BCRYPT, $options); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
METHOD 1 | |
This should roughly sort the items on distance in MySQL, and should work in SQLite. | |
If you need to sort them preciser, you could try using the Pythagorean theorem (a^2 + b^2 = c^2) to get the exact distance. | |
--- | |
SELECT * | |
FROM table | |
ORDER BY ((lat-$user_lat)*(lat-$user_lat)) + ((lng - $user_lng)*(lng - $user_lng)) ASC |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mysql-events | |
https://www.npmjs.com/package/sql-events-listener | |
A node.js package that watches a MySQL database and runs callbacks on matched events. | |
Install | |
npm install @rodrigogs/mysql-events | |
MySQL configuration: | |
Enabling Binary Logging. Use SHOW BINARY LOGS query to determine whether Binlog has been enabled or not. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//------------------------------------------------------- | |
// Sort an Array of Objects in JavaScript | |
// | |
// To sort an array of objects, you use the sort() method | |
// and provide a comparison function that determines | |
// the order of objects. | |
//------------------------------------------------------- | |
//------------------------------------------------------- | |
// Suppose that you have an array of employee objects as follows: |
NewerOlder