public function receive_from_template_fields($Template, $previous_values, $Factory = false, $Item = false, $clear_post = true, $strip_static = true) { $tags = $Template->find_all_tags_and_repeaters(); if (is_object($Item)) { $Item->squirrel('itemID', ''); $Item->squirrel('itemRowID', ''); } else { $Item = $Factory->return_instance(array('itemID' => '', 'itemRowID' => '')); $Item->set_null_id(); } $Item->squirrel('itemJSON', PerchUtil::json_safe_encode($previous_values)); $subprefix = ''; $postitems = $this->find_items('perch_'); $form_vars = array(); $options = array(); $search_text = ' '; $API = new PerchAPI(1.0, $this->app_id); $Resources = $API->get('Resources'); list($form_vars, $search_text) = PerchContent_Util::read_items_from_post($Item, $tags, $subprefix, $form_vars, $postitems, $this, $search_text, $options, $Resources, false, $Template); if (isset($form_vars['_blocks'])) { $form_vars['_blocks'] = PerchUtil::array_sort($form_vars['_blocks'], '_block_index'); } $out = array(); if ($strip_static) { if (PerchUtil::count($form_vars)) { foreach ($form_vars as $key => $val) { if (!in_array($key, $Factory->static_fields)) { $out[$key] = $val; } } } } else { $out = $form_vars; } // Clear values from Post (for reordering of blocks etc) if ($clear_post) { $_POST = array(); } return $out; }
$items = $Region->get_items_for_updating(); } // Keep note of edited items $edited_items = array(); if (is_array($tags)) { if (PerchUtil::count($items)) { foreach ($items as $Item) { $Item->clear_resources(); $id = $Item->itemID(); $form_vars = array(); $file_paths = array(); $search_text = ' '; $form_vars['_id'] = $id; $postitems = $Form->find_items('perch_' . $id . '_'); $subprefix = ''; list($form_vars, $search_text) = PerchContent_Util::read_items_from_post($Item, $tags, $subprefix, $form_vars, $postitems, $Form, $search_text, $options, $Resources, false, $Template); if (isset($form_vars['_blocks'])) { $form_vars['_blocks'] = PerchUtil::array_sort($form_vars['_blocks'], '_block_index'); } $data = array(); $data['itemJSON'] = PerchUtil::json_safe_encode($form_vars); $data['itemSearch'] = $search_text; //PerchUtil::debug($form_vars, 'success'); $Item->update($data); $edited_items[] = $id; } } } // Sort based on region options $Region->sort_items(); // Publish (or not if draft)