]*>){0,1}((.|\n)*)/', $signature, $matches ) == 0 ) { preg_match( '/^........((.|\n)*)/', $opt, $matches ); $err_str = sqlanywhere_extenv_get_error( SQLANYWHERE_EE_BAD_BODY ); $err_str = sprintf( $err_str, $matches[1] ); sqlanywhere_extenv_set_error( $err_str ); return -1; } $sa_options = $matches[1]; $sa_php_code = $matches[2]; $argc = 0; $args = ''; $sa_code = ''; if( strlen( $sa_options ) > 2 ) { $option_array = preg_split( '/\s*\|\s*/', substr( $sa_options, 1, -1 ) ); foreach( $option_array as $opt ) { if( preg_match( '/\s*([^=]*)=(.*)/', $opt, $matches ) == 0 ) { $err_str = sqlanywhere_extenv_get_error( SQLANYWHERE_EE_BAD_OPTION ); $err_str = sprintf( $err_str, $opt ); sqlanywhere_extenv_set_error( $err_str ); return -1; } $key = $matches[1]; $value = $matches[2]; if( $key == 'args' ) { if( preg_match( '/^((?:[IDBS])*)$/', $value, $matches ) == 0 ) { $err_str = sqlanywhere_extenv_get_error( SQLANYWHERE_EE_BAD_ARG_LIST ); $err_str = sprintf( $err_str, $value ); sqlanywhere_extenv_set_error( $err_str ); return -1; } $args = $matches[1]; $argc = strlen( $args ); } elseif( $key == 'file' ) { $file_name = $value; $temp_code = sqlanywhere_extenv_get_code( $file_name ); if( is_null( $temp_code ) ) { # the SDK returns the error for this one return -1; } $sa_code .= "?>\n" . $temp_code . "\ngetMessage() ); return -1; } return 0; } if( $argc != 5 ) { print "usage: " . $argv[0] . " \n"; exit; } sqlanywhere_extenv_start( 'sqlanywhere_extenv_execute_now', $argv[1], $argv[2], $argv[3], $argv[4] ); ?>