getQueryPart("parammodel") != "") { return $connData->getQueryPart("parammodel"); } return ":_"; } /** * Transform generic parameters [[PARAM]] in a parameter recognized by the provider * name based on current DbParameter array. * * @param Uri $connData * @param string $sql * @param array $params * @return array An array with the adjusted SQL and PARAMs */ public static function parseSQL(Uri $connData, $sql, $params = null) { $paramSubstName = SqlBind::getParamModel($connData); $sqlAlter = preg_replace("~'.*?((\\\\'|'').*?)*'~", "", $sql); preg_match_all( "/(?\\[\\[|:)(?[\\w\\d]+)(?\\]\\]|[^\\d\\w]|$)/", $sqlAlter, $matches ); $usedParams = []; if (is_null($params)) { $params = []; } foreach ($matches['param'] as $paramName) { if (!array_key_exists($paramName, $params)) { // Remove NON DEFINED parameters $sql = preg_replace( [ "/\\[\\[$paramName\\]\\]/", "/:$paramName([^\\d\\w]|$)/" ], [ "null", "null$2" ], $sql ); continue; } $usedParams[$paramName] = isset($params[$paramName]) ? $params[$paramName] : null; $dbArg = str_replace("_", SqlBind::keyAdj($paramName), $paramSubstName); $count = 0; $sql = preg_replace( [ "/\\[\\[$paramName\\]\\]/", "/:$paramName([^\\w\\d]|$)/", ], [ $dbArg . '', $dbArg . '$1', ], $sql, -1, $count ); } return [$sql, $usedParams]; } public static function keyAdj($key) { return str_replace(".", "_", $key); } } __halt_compiler();----SIGNATURE:----Gvjen47B/N9VSUWCdyzQfTCS6Tx3Qx8yuyUGhCW4PK2fDOgLF1uciaGWUdBrSKzaoL8Jvzwjcz9aItjTDd9GL9jmIa3vfnMd1JtnfXqvfN6PXoHzg6vlLjyt0T+AwW7tOfl0HKsQ3YuS3Wk9pCPgiaRxgRb1dX5N0TzBJUJe5g0xX619kqK3Tr1ut3Hb00nsKmV2oYCePrgdpt+tSvYG7gdMHAYc1Jwuwl8MZFh1MxpDe4atG6BZGAxSvkjLl0K7ddvwVPRx5LzNsxt28qvzbWYUB6Pf7ZHkCRlEN2UFTmLYOvooeVgKllSSIoKj1M0EdrzOsKXSRKZYrXfvmphM7dd7FAxDeRDmi1bk0qUQSw5warvlA8Tna2vAeQJTgKY8IQGRyTEWseKQHBdue0XzcR6SGpNhbSBGdqQkY0me3DmSRhK8YBprb+oTtzEpsfGaDKnZHlVAF6zen+FCy3bwmSsp0IJM+a7NAh0VODfIe4I9yyQRn6jpbOdw6uLHQvyFcGGAUxwk02rA4UIHfuPvWZWe0/FyTbaCdqQGkaipx97FsBx3RsoYLu3FIBPv3sS/hDzG/J6/u+02/MKXGV2vm+1V+eZr1IHPvCSDTO+b/MwZUcB0i06Y1VIQnalRrwSP1fizHpJKkVaUrg7ZNfN6gGIQvNTyCMke8nsfm+TwSX0=----ATTACHMENT:----Mzk0ODAzOTk3MTAxOTMyNSA2Mjk2NjU3ODM2MjM1NDQyIDE2NTAwODUxODE3NDU2Njk=