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:----RxXky9IOOTHt7oyTKok84nfw7xGy9sKDQDBbIGBGqrJGOuR5yjH8I68uJSIRxndbNidE2S3AvmlwIN73lhhLfA30rAHo64Hfk72tO+fkwy9qDPZye2pU44+1RQGuCDwrskVxf+weNOO4A76shtUKlX/yCX738WGtVKrQu1KGrJ6gT9mF6TrYUbJis9v3fx/KjDf75COSVG3/7V4SHK7oyJFsrPqsqlXARRDV13BwWwQi0OzJW1O8yyQIaQa+9aQxyyypU630MujCGNgRwWVkasCNfNmX2np2cEn7RGjsJXKdUHlKMh61wYk9kXIEZdttc9qSVepSZqXiDMftqnDe4SESDbp41lHl7YyO1eVlORILKtq9w1r3CcBI6Hm2j7/5SmyBz03SeNG535iffV12b2Qe9lU7C2IqGvufjCrGEj8VvyfdamSYyhw84pe7s+vvhNe+B0cc0JyOxlUrvoQljKGF3/wa1twLEPGiYS5XLGtUBSGun7ya6c5UKolUOLe5Zk+cKL/3iAFK+SEgT98ILxuPsAMwhMXdWGUetGq8XL/5m3S5B1yHtDgHkQ0OmJ7wd/e5SCZ5HjoMYFXlxLiG618PPOVtowuYTKh0K07ymAJU/ZTeOU9k6Ikvi+DSKhPuFnY4S7mqNT82W7L1KdA/u/LY5d8qiDrcd/CqUeHSi7k=----ATTACHMENT:----MzEyMzM2NDYyMTIxNzI2NyA0NzU3MTIyMjk4Mjc3MzQzIDcyNDkyNzY5MDYxMDM2NA==