X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fform.php;h=ee97f7a32f571b52e0cf0e4ab79766a5763298bb;hb=c77bce12e53418c2457f17ce1e34238f7baa448d;hp=87b7a5cba91c42d0aea1b55ff62eea7a2e1d8712;hpb=b3b3af9a2eff10c272bb213eccd3dd3060bc5830;p=quix0rs-gnu-social.git diff --git a/lib/form.php b/lib/form.php index 87b7a5cba9..ee97f7a32f 100644 --- a/lib/form.php +++ b/lib/form.php @@ -67,7 +67,7 @@ class Form extends Widget { $attributes = array('id' => $this->id(), 'class' => $this->formClass(), - 'method' => 'post', + 'method' => $this->method(), 'action' => $this->action()); if (!empty($this->enctype)) { @@ -91,7 +91,9 @@ class Form extends Widget function sessionToken() { - $this->out->hidden('token', common_session_token()); + if (strtolower($this->method()) == 'post') { + $this->out->hidden('token-' . $this->id() ?: common_random_hexstr(3), common_session_token(), 'token'); + } } /** @@ -119,6 +121,18 @@ class Form extends Widget { } + /** + * HTTP method used to submit the form + * + * Defaults to post. Subclasses can override if they need to. + * + * @return string the method to use for submitting + */ + function method() + { + return 'post'; + } + /** * Buttons for form actions * @@ -160,7 +174,13 @@ class Form extends Widget } /** - * Class of the form. + * Class of the form. May include space-separated list of multiple classes. + * + * If 'ajax' is included, the form will automatically be submitted with + * an 'ajax=1' parameter added, and the resulting form or error message + * will replace the form after submission. + * + * It's up to you to make sure that the target action supports this! * * @return string the form's class */ @@ -169,4 +189,14 @@ class Form extends Widget { return 'form'; } + + function li() + { + $this->out->elementStart('li'); + } + + function unli() + { + $this->out->elementEnd('li'); + } }