static function preItemUpdate(CommonDBTM $item) { //find container (if not exist, do nothing) if (isset($_REQUEST['c_id'])) { $c_id = $_REQUEST['c_id']; } else { $c_id = self::findContainer(get_Class($item), $item->fields['id'], "dom"); if ($c_id === false) { return false; } } //find fields associated to found container $field_obj = new PluginFieldsField(); $fields = $field_obj->find("plugin_fields_containers_id = {$c_id} AND type != 'header'", "ranking"); //prepare datas to update $datas = array('plugin_fields_containers_id' => $c_id, 'items_id' => $item->fields['id']); foreach ($fields as $field) { if (isset($item->input[$field['name']])) { //standard field $input = $field['name']; } else { //dropdown field $input = "plugin_fields_" . $field['name'] . "dropdowns_id"; } if (isset($item->input[$input])) { $datas[$input] = $item->input[$input]; } } //update datas $container = new self(); if ($container->updateFieldsValues($datas)) { return true; } return $item->input = array(); }
/** * Pre item hook for update * Do store data in db * * @param CommonDBTM $item Item instance * * @return boolean */ static function preItemUpdate(CommonDBTM $item) { self::preItem($item); if (property_exists($item, 'plugin_fields_data')) { $data = $item->plugin_fields_data; //update data $container = new self(); if ($container->updateFieldsValues($data, isset($_REQUEST['massiveaction']), $item->getType())) { return true; } } return $item->input = array(); }