forked from GNUsocial/gnu-social
		
	NoticeForm constructor takes array of optional parameters
NoticeForm::__construct() had 9 parameters, and I was about to add a few more, so I figured it'd be better to use an $options array instead.
This commit is contained in:
		| @@ -344,7 +344,9 @@ class NewnoticeAction extends Action | ||||
|             $inreplyto = null; | ||||
|         } | ||||
|  | ||||
|         $notice_form = new NoticeForm($this, '', $content, null, $inreplyto); | ||||
|         $notice_form = new NoticeForm($this, array('content' => $content,  | ||||
|                                                    'inreplyto' => $inreplyto)); | ||||
|  | ||||
|         $notice_form->show(); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -53,7 +53,7 @@ class NoticeForm extends Form | ||||
|     /** | ||||
|      * Current action, used for returning to this page. | ||||
|      */ | ||||
|     var $action = null; | ||||
|     var $actionName = null; | ||||
|  | ||||
|     /** | ||||
|      * Pre-filled content of the form | ||||
| @@ -82,26 +82,43 @@ class NoticeForm extends Form | ||||
|     /** | ||||
|      * Constructor | ||||
|      * | ||||
|      * @param HTMLOutputter $out     output channel | ||||
|      * @param string        $action  action to return to, if any | ||||
|      * @param string        $content content to pre-fill | ||||
|      * @param Action $action  Action we're being embedded into | ||||
|      * @param array  $options Array of optional parameters | ||||
|      *                        'user' a user instead of current | ||||
|      *                        'content' notice content | ||||
|      *                        'inreplyto' ID of notice to reply to | ||||
|      *                        'lat' Latitude | ||||
|      *                        'lon' Longitude | ||||
|      *                        'location_id' ID of location | ||||
|      *                        'location_ns' Namespace of location | ||||
|      */ | ||||
|     function __construct($out=null, $action=null, $content=null, $user=null, $inreplyto=null, $lat=null, $lon=null, $location_id=null, $location_ns=null) | ||||
|     function __construct($action, $options=null) | ||||
|     { | ||||
|         // XXX: ??? Is this to keep notice forms distinct? | ||||
|         // Do we have to worry about sub-second race conditions? | ||||
|         // XXX: Needs to be above the parent::__construct() call...? | ||||
|  | ||||
|         $this->id_suffix = time(); | ||||
|  | ||||
|         parent::__construct($out); | ||||
|         parent::__construct($action); | ||||
|  | ||||
|         $this->action  = $action; | ||||
|         $this->content = $content; | ||||
|         $this->inreplyto = $inreplyto; | ||||
|         $this->lat = $lat; | ||||
|         $this->lon = $lon; | ||||
|         $this->location_id = $location_id; | ||||
|         $this->location_ns = $location_ns; | ||||
|         if (is_null($options)) { | ||||
|             $options = array(); | ||||
|         } | ||||
|  | ||||
|         if ($user) { | ||||
|             $this->user = $user; | ||||
|         $this->actionName  = $action->trimmed('action'); | ||||
|  | ||||
|         $prefill = array('content', 'inreplyto', 'lat',  | ||||
|                          'lon', 'location_id', 'location_ns'); | ||||
|  | ||||
|         foreach ($prefill as $fieldName) { | ||||
|             if (array_key_exists($fieldName, $options)) { | ||||
|                 $this->$fieldName = $options[$fieldName]; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         if (array_key_exists('user', $options)) { | ||||
|             $this->user = $options['user']; | ||||
|         } else { | ||||
|             $this->user = common_current_user(); | ||||
|         } | ||||
| @@ -196,8 +213,8 @@ class NoticeForm extends Form | ||||
|                                                    'title' => _('Attach a file.'))); | ||||
|                 $this->out->elementEnd('label'); | ||||
|             } | ||||
|             if ($this->action) { | ||||
|                 $this->out->hidden('notice_return-to', $this->action, 'returnto'); | ||||
|             if (!empty($this->actionName)) { | ||||
|                 $this->out->hidden('notice_return-to', $this->actionName, 'returnto'); | ||||
|             } | ||||
|             $this->out->hidden('notice_in-reply-to', $this->inreplyto, 'inreplyto'); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user