import org.cacert.gigi.DevelLauncher;
import org.cacert.gigi.localisation.Language;
-import org.cacert.gigi.output.Outputable;
import org.cacert.gigi.util.HTMLEncoder;
public class Template implements Outputable {
- TemplateBlock data;
+ private TemplateBlock data;
- long lastLoaded;
+ private long lastLoaded;
- File source;
+ private File source;
private static final Pattern CONTROL_PATTERN = Pattern.compile(" ?([a-z]+)\\(\\$([^)]+)\\) ?\\{ ?");
} else if (s2.startsWith("=s,")) {
String command = s2.substring(3);
final LinkedList<String> store = new LinkedList<String>();
- while (command.startsWith("$")) {
- int idx = command.indexOf(",");
- store.add(command.substring(0, idx));
+ while (command.startsWith("$") || command.startsWith("\"") || command.startsWith("!\"")) {
+ int idx;
+ if (command.startsWith("\"") || command.startsWith("!\"")) {
+ idx = command.indexOf("\"", command.charAt(0) == '!' ? 2 : 1) + 1;
+ store.add(command.substring(0, idx - 1));
+ } else {
+ idx = command.indexOf(",");
+ store.add(command.substring(0, idx));
+ }
command = command.substring(idx + 1);
}
final String text = command;
return null;
}
+ @Override
public void output(PrintWriter out, Language l, Map<String, Object> vars) {
if (source != null && DevelLauncher.DEVEL) {
if (lastLoaded < source.lastModified()) {