===== Vortex String ===== The //Vortex String//, or //VxString// for short, is a string which uses a custom syntax for variable substituion in the //Vortex//. The syntax and substitution rules are described below. ==== Syntax ==== The //VxString// is parsed by the //Vortex// using a regular expression, from left to right. Variable names enclosed by //[]//-brackets are substituted by their respective variable/field relative to the current //Table// or //TableRecord//. Functions or class methods enclosed by //{}//-brackets are substituted by the return value from the corresponding call. Parameters are concatenated by appending a .-separated list after the function/method name, and variables can be used by enclosing them in //[]//-brackets. Example: This is the id of this post: [idpost] This is the name of some related post: [relatedpost.name] Running a Vortex-internal function getting the date: {date} Getting the date a week from now: {date.w+1} Running a php function: {abs.-1} Running some method from some class with parameters "a", "b" and name from the current tablerecord/table: {class:method.a.b.[name]} Running a method in this current Tablemethods script with the same parameters: {method.a.b.[name]} Functions are identified in the following order:\\ 1. Internal vortex functions 2. Class:Method methods 3. Internal PHP functions 4. Methods in the Tables Methods-class. ==== Vortex internal functions ==== Currently the following functions are implemented locally in the Vortex: === modify === Using an older syntax, used to modify strings. {modify.string|left:3} Will take the leftmost 3 characters of //string//.. The supported modifiers are //left//, //right//, //mid//, where mid takes two arguments separated by : like: {modify.string|mid:1:2} Where the first argunent is from and the last is to. The given syntax above would return //tr//. === date === Returns the date on the format YYYY-mm-dd. Otherwise similar to //time//. === time === Returns the datetime on the format YYYY-mm-dd HH:ii:ss as given by the PHP //date// function.\\ The timestamp can be modified by giving arguments like {time.d+1.Y=2010} This will return the datetime for tomorrow but the year will be set to 2010. Currently the following modifiers are supported with a +, - or = sign and a value, telling the Vortex to add, subtract or set the period. ^^Modifier^^^Period^^ |s|Second| |i|Minute| |H|Hour| |d|Day| |w|Week| |m|Month| |Y|Year| As of build 1167 the time and date functions also take a //format// argument on the form of the PHP date format string. {time.format=Y/m.m+2} The code above returns the year and month, two months from the current date, separated by a slash. === user === Returns an attribute from the currently active user. Supplying no parameters will return the //UUID// for the active user, otherwise it will return the given attribute. Related attributes can be used providing the current user has sufficient privilegies to read them.