public function executeDcWidgetFormActivator(sfWebRequest $request) { if ($request->isMethod('post')) { $widget_from_request = $request->getParameter('widget'); $widget_array = dcWidgetFormActivator::decodeWidget($widget_from_request); $observed_values = $request->getParameter('observed_values'); $this->getResponse()->setContent(call_user_func($widget_array['render_after_method'], $observed_values, $widget_array)); } return sfView::NONE; }
/** * Returns a Json encode string for the received widget * * @param dcWidgetFormActivator $widget * @return string */ public static function encodeWidget(dcWidgetFormActivator $widget) { return json_encode(array('id' => $widget->generateId($widget->myname), 'observed_id' => $widget->getOption('observed_id'), 'observed_boolean_ids' => $widget->getOption('observed_boolean_ids'), 'update_id' => "dc_widget_form_activator_update_" . $widget->generateId($widget->myname), 'evaluate_method' => $widget->getOption('evaluate_method'), 'evaluate_method_extra_params' => $widget->getOption('evaluate_method_extra_params'), 'event' => $widget->getOption('event'), 'callback' => $widget->getOption('callback'), 'render_after_method' => $widget->getOption('render_after_method'), 'loading_image' => '<img src="' . image_path('/dcReloadedFormExtraPlugin/images/ajax-loader.gif') . '" />')); }