include/SugarSQLValidate.php
\SugarSQLValidate
Package: SugarCRM
Parameters
Returns
SQL Validator class
- Api
Properties

array
$bad_functions= 'array("benchmark", "encode", "sleep",
"generate_series", "load_file", "sys_eval", "user_name",
"xp_cmdshell", "sys_exec", "sp_replwritetovarbin")'
Prohibited functions
Default value
array("benchmark", "encode", "sleep",
"generate_series", "load_file", "sys_eval", "user_name",
"xp_cmdshell", "sys_exec", "sp_replwritetovarbin")Details- Type
- array

array
$subquery_allowed_tables= 'array(
'email_addr_bean_rel' => true,
'email_addresses' => true,
'emails' => true,
'emails_beans' => true,
'emails_text' => true,
'teams' => true,
'team_sets_teams' => true)'
Tables allowed in subqueries
Default value
array(
'email_addr_bean_rel' => true,
'email_addresses' => true,
'emails' => true,
'emails_beans' => true,
'emails_text' => true,
'teams' => true,
'team_sets_teams' => true)Details- Type
- array
Methods

allowedSubquery(
array $term
)
:
voidAllow some subqueries to pass Needed since OPI uses subqueries for email searches... sigh
Parameters
| Name | Type | Description |
|---|---|---|
| $term | array | term structure of the subquery |

validateColumnName(
\$name $name
)
:
booleanvalidateColumnName This method validates the column name portion of the SQL statement and returns true if it is deemed safe.
We check against querying for the user_hash column.
| Name | Type | Description |
|---|---|---|
| $name | \$name | String portion of the column name from SQL |
| Type | Description |
|---|---|
| boolean | True if column name is deemed safe, false otherwise |

validateExpression(
array $expr, $allow_some_subqueries
=
false
)
:
boolValidate parsed SQL expression
Parameters
Returns
| Name | Type | Description |
|---|---|---|
| $expr | array | Parsed expression |
| $allow_some_subqueries |
| Type | Description |
|---|---|
| bool |