-rw-r--r-- | include/opkele/types.h | 2 | ||||
-rw-r--r-- | lib/openid_message.cc | 14 |
2 files changed, 10 insertions, 6 deletions
diff --git a/include/opkele/types.h b/include/opkele/types.h index a3b657d..1f48362 100644 --- a/include/opkele/types.h +++ b/include/opkele/types.h | |||
@@ -150,7 +150,7 @@ namespace opkele { | |||
150 | virtual void from_keyvalues(const string& kv); | 150 | virtual void from_keyvalues(const string& kv); |
151 | virtual void to_keyvalues(ostream& o) const; | 151 | virtual void to_keyvalues(ostream& o) const; |
152 | 152 | ||
153 | virtual void to_htmlhiddens(ostream& o) const; | 153 | virtual void to_htmlhiddens(ostream& o,const char* pfx=0) const; |
154 | 154 | ||
155 | void add_to_signed(const string& fields); | 155 | void add_to_signed(const string& fields); |
156 | string find_ns(const string& uri,const char *pfx) const; | 156 | string find_ns(const string& uri,const char *pfx) const; |
diff --git a/lib/openid_message.cc b/lib/openid_message.cc index 521ea85..588bd62 100644 --- a/lib/openid_message.cc +++ b/lib/openid_message.cc | |||
@@ -163,20 +163,24 @@ namespace opkele { | |||
163 | public: | 163 | public: |
164 | const basic_openid_message& om; | 164 | const basic_openid_message& om; |
165 | ostream& os; | 165 | ostream& os; |
166 | const char *pfx; | ||
166 | 167 | ||
167 | __om_html_outputter(const basic_openid_message& m,ostream& s) | 168 | __om_html_outputter(const basic_openid_message& m,ostream& s,const char *p=0) |
168 | : om(m), os(s) { } | 169 | : om(m), os(s), pfx(p) { } |
169 | 170 | ||
170 | result_type operator()(argument_type f) { | 171 | result_type operator()(argument_type f) { |
171 | os << | 172 | os << |
172 | "<input type=\"hidden\"" | 173 | "<input type=\"hidden\"" |
173 | " name=\"" << util::attr_escape(f) << "\"" | 174 | " name=\""; |
175 | if(pfx) | ||
176 | os << util::attr_escape(pfx); | ||
177 | os << util::attr_escape(f) << "\"" | ||
174 | " value=\"" << util::attr_escape(om.get_field(f)) << "\" />"; | 178 | " value=\"" << util::attr_escape(om.get_field(f)) << "\" />"; |
175 | } | 179 | } |
176 | }; | 180 | }; |
177 | 181 | ||
178 | void basic_openid_message::to_htmlhiddens(ostream& o) const { | 182 | void basic_openid_message::to_htmlhiddens(ostream& o,const char* pfx) const { |
179 | for_each(fields_begin(),fields_end(),__om_html_outputter(*this,o)); | 183 | for_each(fields_begin(),fields_end(),__om_html_outputter(*this,o,pfx)); |
180 | } | 184 | } |
181 | 185 | ||
182 | void basic_openid_message::add_to_signed(const string& fields) { | 186 | void basic_openid_message::add_to_signed(const string& fields) { |