1
  
2
  
3
  
4
  
5
  
6
  
7
  
8
  
9
  
10
  
11
  
12
  
13
  
14
  
15
  
16
  
17
  
18
  
19
  
20
  
21
  
22
  
23
  
24
  
25
  
26
  
27
  
28
  
29
  
30
  
31
  
32
  
33
  
34
  
35
  
//! A text class with multiple customized verifications. 
//! 
//! $Id$ 
 
#include <module.h> 
 
inherit Variable.VerifiedString; 
 
constant type = "VerifiedText"; 
 
string render_form( RequestID id, void|mapping args ) { 
 
  if(!args) 
    args=([]); 
  else 
    args+=([]); 
 
  args->name=path(); 
  string render="<textarea"; 
 
  foreach(indices(args), string attr) { 
    render+=" "+attr+"="; 
    if(!has_value(args[attr], "\"")) render+="\""+args[attr]+"\""; 
    else if(!has_value(args[attr], "'")) render+="'"+args[attr]+"'"; 
    else render+="'"+replace(args[attr], "'", "&#39;")+"'"; 
  } 
 
  return render+">"+ 
    (!RXML_CONTEXT || RXML_CONTEXT->id->conf->compat_level() > 2.4 ? 
     Roxen.html_encode_string ((string) query()) : 
     (string) query()) + 
    "</textarea>"; 
}