Skip to content

Instantly share code, notes, and snippets.

Enrico Simonetti esimonetti

Block or report user

Report or block esimonetti

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View config_override.php
<?php
$sugar_config['metrics_enabled'] = 1;
$sugar_config['metric_providers']['SugarMetric_Provider_Newrelic'] = 'include/SugarMetric/Provider/Newrelic.php';
$sugar_config['metric_settings']['SugarMetric_Provider_Newrelic']['applicationname'] = 'Sugar';
@esimonetti
esimonetti / csv_to_sugar_php_dropdown.php
Created Dec 2, 2019
Script to convert a csv file into Sugar php dropdowns
View csv_to_sugar_php_dropdown.php
<?php
// example dropdowns.csv content
// "ddname","key1","value1"
// "ddname","key2","value2"
$fileName = 'dropdowns.csv';
if (file_exists($fileName)) {
$file = fopen($fileName, 'r');
$dd = [];
@esimonetti
esimonetti / sugar-cli-fus.txt
Last active Nov 14, 2019
Useful sugar file system commands to analyse an instance
View sugar-cli-fus.txt
# Quick way to tell the difference of the modules dir of two instances
# 1 - from within the vanilla system module's dir
cd modules
ls -la | awk '{ print $9 }' | grep -v '\.' | grep -v '\.\.' > ~/core_modules_dir.txt
# 2 - from within the customer system module's dir
cd modules
ls -la | awk '{ print $9 }' | grep -v '\.' | grep -v '\.\.' > ~/customer.txt
# 3 - diff the twos and do some fus to get the actual differences
diff -auNw ~/core_modules_dir.txt ~/customer.txt | grep + | grep -v "@" | cut -c 2- | grep -v "\+\+" | grep -v "\-\-"
@esimonetti
esimonetti / cacheOnSugar.php
Last active Nov 13, 2019
With the new PSR-16 compatible caching engine we introduced recently, the new way to get the caching object is with something like this sample code
View cacheOnSugar.php
<?php
// remember to set redis on config_override.php
/*
$sugar_config['external_cache_disabled'] = false;
$sugar_config['external_cache_disabled_redis'] = false;
$sugar_config['external_cache']['redis']['host'] = 'sugar-redis';
*/
// to test the simplest standalone script
@esimonetti
esimonetti / repair.php
Last active Oct 30, 2019
Sugar CLI Repair - Instance as script argument - USE TOOTHPASTE INSTEAD! https://github.com/esimonetti/toothpaste
View repair.php
<?php
// Enrico Simonetti
// enricosimonetti.com
//
// 2017-11-01 on Sugar 7.9.2.0
function usage($error = '') {
if (!empty($error)) print(PHP_EOL . 'Error: ' . $error . PHP_EOL);
print(' php ' . __FILE__ . ' --instance /full/path' . PHP_EOL);
@esimonetti
esimonetti / table_record_counter.php
Last active Oct 30, 2019
Count records per Sugar table and output in json and csv format for reporting purposes - USE TOOTHPASTE INSTEAD! https://github.com/esimonetti/toothpaste
View table_record_counter.php
<?php
// Enrico Simonetti
// enricosimonetti.com
//
// 2018-09-19 on Sugar 8.0.0
//
// CLI script to output the current record count per SQL table, in json and csv format
ini_set('memory_limit', '64M');
View mysql_tables_optimize.php
<?php
// Enrico Simonetti
// enricosimonetti.com
//
// 2018-09-20 on Sugar 8.0.0
//
// CLI script to optimize Sugar mysql tables
ini_set('memory_limit', '64M');
@esimonetti
esimonetti / mysql_tables_optimize.php
Last active Oct 30, 2019
CLI script to optimize Sugar mysql tables, by dropping all non-primary indices, optimizing and finally re-creating indices. Script similar to https://gist.github.com/esimonetti/7c4d57d57464ce6a71973de6fe0da089 but implementing the recommendations described here https://www.percona.com/blog/2010/12/09/mysql-optimize-tables-innodb-stop/ - USE TOOT…
View mysql_tables_optimize.php
<?php
// Enrico Simonetti
// enricosimonetti.com
//
// 2019-01-04 on Sugar 8.0.2
//
// CLI script to optimize Sugar mysql tables, by dropping all non-primary indices, optimizing and finally re-creating indices
function usage($error = '') {
@esimonetti
esimonetti / createMissingTables.php
Last active Oct 30, 2019
Create missing tables - USE TOOTHPASTE INSTEAD! https://github.com/esimonetti/toothpaste
View createMissingTables.php
<?php
// Enrico Simonetti
// enricosimonetti.com
//
// 2019-09-24 Sugar 9.0.0
// create missing tables
function usage($error = '') {
if (!empty($error)) print(PHP_EOL . 'Error: ' . $error . PHP_EOL);
@esimonetti
esimonetti / extractMetadata.php
Last active Oct 30, 2019
Utility to extract Sugar's metadata content to be able to compare two different metadatas - USE TOOTHPASTE INSTEAD! https://github.com/esimonetti/toothpaste
View extractMetadata.php
<?php
// Enrico Simonetti
// enricosimonetti.com
//
// 2019-09-26 on Sugar 9.0.0
//
// Metadata extractor, to compare 2 metadatas with a diff command
// eg: diff -auNw file1.array file2.array)
You can’t perform that action at this time.