function _render_repeating_group($group) { $name = $group['name']; $uid = $group['indexed_name']; $oddity = $group['level'] % 2 === 0 ? 'even' : 'odd'; $dependency = isset($group['dependency']) ? $group['dependency']['function'] . '|' . $group['dependency']['field'] : ''; $html = ''; $html .= '<div id="wpa_loop-' . $uid . '" class="vp-wpa-loop level-' . $oddity . ' wpa_loop wpa_loop-' . $name . ' vp-repeating-loop vp-meta-group' . (isset($group['container_extra_classes']) ? ' ' . implode(' ', $group['container_extra_classes']) : '') . '"' . VP_Util_Text::return_if_exists(isset($dependency) ? $dependency : '', 'data-vp-dependency="%s"') . '>'; $icon = ''; if (isset($group['sortable']) and $group['sortable']) { $icon = '<i class="icon-move"></i> '; } foreach ($group['groups'] as $g) { $class = ''; $is_first = false; $is_last = false; if ($g === end($group['groups'])) { $is_last = true; $class = ' last tocopy'; } if ($g === reset($group['groups'])) { $is_first = true; $class = ' first'; } $html .= '<div id="' . $g['name'] . '" class="vp-wpa-group wpa_group wpa_group-' . $name . $class . '">'; $html .= '<div class="vp-wpa-group-heading"><a href="#" class="vp-wpa-group-title">' . $icon . $group['title'] . '</a><a href="#" class="dodelete vp-wpa-group-remove" title="' . __('Remove', SH_NAME) . '"><i class="icon-remove"></i> ' . __('Remove', SH_NAME) . '</a></div>'; $html .= '<div class="vp-controls' . (!$is_first ? ' vp-hide' : '') . '">'; if ($g === end($group['groups'])) { $tocopy = $g['name'] . '[tocopy]'; $html .= '<input type="hidden" class="tocopy-hidden" name="' . $tocopy . '" value="1">'; } foreach ($g['childs'] as $f) { if (is_array($f) and $f['repeating']) { $html .= $this->_render_repeating_group($f); } else { if (is_array($f) and !$f['repeating']) { $html .= $this->_render_group($f); } else { $html .= $this->_render_field($f); } } } $html .= '</div>'; $html .= '</div>'; } $html .= '<div class="vp-wpa-group-add">'; $html .= '<a href="#" class="button button-primary docopy-' . $name . '" style="width: 200px; margin: 0px auto;">' . __('Add More ', SH_NAME) . '' . $group['title'] . '</a>'; $html .= '</div>'; $html .= '</div>'; return $html; }