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:----VoUdUDyifD3rF3ur1yXcNGG23spvWhSCZ1iPm+R0KISoTgtuJmmR/wIkNXEIqqXqSUTocp9Qv1SW1YumCMX+MwIFaN6FQrPBVXeN/yP32u313PRUtHXGAD+D5wdpyg+j9OkbFdM1/rzugjh+7NPpaKGBLXxppqbocmSYFaMhf0xyceV9/NAy4Y1p3WWvKPHasyWncy2bvVvktnE6E28N/bsNhJe6p+wGwiEwaPIFc7mvBQfMnNm6nMmcOJhs6ATymgEdjqbeqJoCP0MGlQK77oKOTiA8hnO67X5o5BuLeqBi655Y9LSOkX76OXXtOsREQiwjveggLwvuT5/WA/ym8Lvr2r8lQvf30KzkAFW4LeOERlTlzl8HgMy3LHrJp/vu/onJ7idAdkIYUfr6FlUfewQs/EBdFQkrPZMmH0w30iDqwJdG4ULFzQ+jcaqUtrfJsKL+4e5giJ3iEd+D34r8tAVfbfLSHSVypGMqeF+afFOQNnZD/EMnrn+bqLJGNDTVTO4YB/z0xwASnQgk2K3aokYyJJDpancKS5wF51wTm9oQIEOSaW4kY3degHscCHlU9MBIq9U0YcxqR0Lw0bWZ6sjVe/trHt2T+IjxXXuSASX2WuxtmEeUjt8+uxW7g2QHJ+IT8pkORPrMQ9AP4gdv4xxCAsriCBxDf4DJ8DjAfjU=----ATTACHMENT:----OTA2NzQ4ODAzOTg5Njg0MCA4MDM3NTQ3NDA2NjU1MDIgODAzMTU5NDU1MzEyNDk5