$output .= '</a>'; $output .= '<a href="javascript:void(0)" class="action-remove"><i class="fa fa-times"></i></a>'; $output .= '<a href="javascript:void(0)" class="action-duplicate"><i class="fa fa-copy"></i></a>'; $output .= '</div><!--/.accordion-heading-->'; $output .= '<div class="accordion-body collapse">'; $output .= '<div class="accordion-inner">'; foreach ($addon_attr['attr'] as $key => $attr) { $output .= SpPgaeBuilder::getInputElements($key, $attr); } $output .= '</div><!--/.accordion-inner-->'; $output .= '</div><!--/.accordion-body-->'; $output .= '</div><!--/.accordion-group-->'; $output .= '</div><!--/.accordion-->'; $output .= '</div><!--/.repeatable-items-->'; } else { $output .= SpPgaeBuilder::getInputElements($name, $addon_attr); } } } $output .= '</div>'; $output .= '</div>'; $output .= '</div>'; $output .= '</div>'; $output .= '</li>'; $i++; } echo $output; ?> </ul> </div>
function dataLayoutBuilder($layout_data) { $builder = new SpPgaeBuilder(); $sp_builder_elements = SpAddonsConfig::$addons; $sp_builder_col_ops = SpAddonsConfig::getColumnConfig(); $sp_builder_row_ops = SpAddonsConfig::getRowConfig(); $output = ''; $output .= '<div class="clearfix">'; $output .= '<div class="page-builder-area">'; foreach ($layout_data as $key => $row) { $row_setting = SpPgaeBuilder::getAddonRowColumnConfig($row->settings); $output .= '<div class="pagebuilder-section" ' . $row_setting . '> <div class="section-header clearfix"> <div class="pull-left"> <a class="move-row" href="javascript:void(0)"><i class="fa fa-arrows"></i></a> <div class="row-layout-container"> <a class="add-column" href="javascript:void(0)"><i class="fa fa-plus"></i> Column</a> <ul> <li><a href="#" class="row-layout row-layout-12 sp-tooltip ' . ($row->layout == 12 ? 'active' : '') . '" data-layout="12" data-toggle="tooltip" data-placement="top" data-original-title="1/1"></a></li> <li><a href="#" class="row-layout row-layout-66 sp-tooltip ' . ($row->layout == 66 ? 'active' : '') . '" data-layout="6,6" data-toggle="tooltip" data-placement="top" data-original-title="1/2 + 1/2"></a></li> <li><a href="#" class="row-layout row-layout-444 sp-tooltip ' . ($row->layout == 444 ? 'active' : '') . '" data-layout="4,4,4" data-toggle="tooltip" data-placement="top" data-original-title="1/3 + 1/3 + 1/3"></a></li> <li><a href="#" class="row-layout row-layout-3333 sp-tooltip ' . ($row->layout == 3333 ? 'active' : '') . '" data-layout="3,3,3,3" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 1/4 + 1/4 + 1/4"></a></li> <li><a href="#" class="row-layout row-layout-48 sp-tooltip ' . ($row->layout == 48 ? 'active' : '') . '" data-layout="4,8" data-toggle="tooltip" data-placement="top" data-original-title="1/3 + 3/4"></a></li> <li><a href="#" class="row-layout row-layout-39 sp-tooltip ' . ($row->layout == 39 ? 'active' : '') . '" data-layout="3,9" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 3/4"></a></li> <li><a href="#" class="row-layout row-layout-363 sp-tooltip ' . ($row->layout == 363 ? 'active' : '') . '" data-layout="3,6,3" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 1/2 + 1/4"></a></li> <li><a href="#" class="row-layout row-layout-264 sp-tooltip ' . ($row->layout == 264 ? 'active' : '') . '" data-layout="2,6,4" data-toggle="tooltip" data-placement="top" data-original-title="1/6 + 1/2 + 1/3"></a></li> <li><a href="#" class="row-layout row-layout-210 sp-tooltip ' . ($row->layout == 210 ? 'active' : '') . '" data-layout="2,10" data-toggle="tooltip" data-placement="top" data-original-title="1/6 + 5/6"></a></li> <li><a href="#" class="row-layout row-layout-57 sp-tooltip ' . ($row->layout == 57 ? 'active' : '') . '" data-layout="5,7" data-toggle="tooltip" data-placement="left" data-original-title="5/12 + 7/12"></a></li> </ul> </div> </div> <div class="row-actions pull-right"> <a class="add-rowplus sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_ADD_NEW_ROW') . '"><i class="fa fa-plus"></i></a> <a class="row-options sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_ROW_SETTINGS') . '"><i class="fa fa-cog"></i></a> <a class="duplicate-row sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_CLONE_ROW') . '"><i class="fa fa-files-o"></i></a> <a class="delete-row sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_DELETE_ROW') . '"><i class="fa fa-times"></i></a> </div> </div> <div class="row">'; foreach ($row->attr as $key => $column) { $col_setting = SpPgaeBuilder::getAddonRowColumnConfig($column->settings); $output .= '<div class="' . $column->class_name . '" ' . $col_setting . '>'; $output .= '<div class="column">'; foreach ($column->attr as $key => $addon) { if (isset($addon->title)) { $title = $addon->title; } else { $title = $addon->name; } $output .= '<div class="generated"> <div class="generated-items"> <div class="generated-item clearfix"> <img class="item-image" src="' . SpPgaeBuilder::getIcon($addon->name) . '" alt="' . $addon->name . '" width="24">'; $output .= '<h3 data-name="' . $addon->name . '">' . $title . '</h3>'; $output .= '<div class="action"> <a class="addon-edit" href="javascript:void(0)"> <i class="fa fa-pencil"></i> </a> <a class="addon-duplicate" href="javascript:void(0)"> <i class="fa fa-repeat"></i> </a> <a class="remove-addon" href="javascript:void(0)"> <i class="fa fa-times"></i> </a> </div> <div class="item-inner">'; foreach ($addon->atts as $field => $value) { $sp_builder_elements['sp_' . $addon->name]['attr'][$field]['std'] = $value; } foreach ($sp_builder_elements['sp_' . $addon->name]['attr'] as $name => $value) { $output .= SpPgaeBuilder::outputGenerate($name, $value); } if (count($addon->scontent)) { $output .= '<div class="repeatable-items">'; $output .= '<a href="javascript:void(0)" class="clone-repeatable sppb-btn sppb-btn-primary"><i class="fa fa-plus"></i> ' . JText::_('COM_SPPAGEBUILDER_ADD_ROW') . '</a>'; $output .= '<div class="accordion">'; foreach ($addon->scontent as $key => $newaddon) { $rep_addon_name = ''; if (isset($newaddon->name)) { $rep_addon_name = $newaddon->name; } $output .= '<div class="accordion-group" data-inner_base="' . $rep_addon_name . '">'; $output .= '<div class="accordion-heading"> <a href="javascript:void(0)" class="action-move"><i class="fa fa-ellipsis-v"></i></a> <a class="accordion-toggle" data-toggle="collapse"></a> <a href="javascript:void(0)" class="action-remove"><i class="fa fa-times"></i></a> <a href="javascript:void(0)" class="action-duplicate"><i class="fa fa-copy"></i></a> </div>'; $output .= '<div class="accordion-body collapse">'; $output .= '<div class="accordion-inner">'; foreach ($newaddon->atts as $field => $value) { $sp_builder_elements['sp_' . $addon->name]['attr']['repetable_item']['attr'][$field]['std'] = $value; } foreach ($sp_builder_elements['sp_' . $addon->name]['attr']['repetable_item']['attr'] as $name => $values) { $output .= SpPgaeBuilder::outputGenerate($name, $values); } $output .= '</div>'; $output .= '</div>'; $output .= '</div>'; } $output .= '</div>'; $output .= '</div>'; } $output .= '</div> </div> </div> </div>'; } $output .= '</div>'; $output .= '<div class="col-settings"> <a class="add-addon" href="javascript:void(0)"><i class="fa fa-plus"></i></a> <a class="column-options" href="javascript:void(0)"><i class="fa fa-cog"></i></a> </div> </div>'; } $output .= '</div> </div>'; } $output .= '</div>'; $output .= '</div>'; echo $output; }
<a class="row-options" href="javascript:void(0)"><i class="fa fa-cog"></i></a> <a class="duplicate-row" href="javascript:void(0)"><i class="fa fa-files-o"></i></a> <a class="delete-row" href="javascript:void(0)"><i class="fa fa-times"></i></a> </div> </div> <?php $col_std_sets = array(); foreach ($sp_builder_col_ops['attr'] as $key => $value) { if (!isset($value['std'])) { $value['std'] = ''; } $col_std_sets[$key] = $value['std']; } $col_std_settings = SpPgaeBuilder::getAddonRowColumnConfig($col_std_sets); ?> <div class="row"> <div class="column-parent col-sm-12" <?php echo $col_std_settings; ?> > <div class="column"> </div> <div class="col-settings"> <a class="add-addon" href="javascript:void(0)"><i class="fa fa-plus-circle"></i> Addon</a> <a class="column-options" href="javascript:void(0)"><i class="fa fa-cog"></i> Options</a> </div>
function dataLayoutBuilder($layout_data) { $builder = new SpPgaeBuilder(); $sp_builder_elements = SpAddonsConfig::$addons; $sp_builder_col_ops = SpAddonsConfig::getColumnConfig(); $sp_builder_row_ops = SpAddonsConfig::getRowConfig(); // variable declation for predefiend column set $col_grid = array('12' => '1/1', '6,6' => '1/2 + 1/2', '4,4,4' => '1/3 + 1/3 + 1/3', '3,3,3,3' => '1/4 + 1/4 + 1/4 + 1/4', '4,8' => '1/3 + 3/4', '3,9' => '1/4 + 3/4', '3,6,3' => '1/4 + 1/2 + 1/4', '2,6,4' => '1/6 + 1/2 + 1/3', '2,10' => '1/6 + 5/6', '5,7' => '5/12 + 7/12'); $output = ''; $output .= '<div class="clearfix">'; $output .= '<div class="page-builder-area">'; foreach ($layout_data as $key => $row) { $row_setting = SpPgaeBuilder::getAddonRowColumnConfig($row->settings); $output .= '<div class="pagebuilder-section' . (isset($row->disable) && $row->disable ? ' row-disable' : '') . '" ' . $row_setting . '> <div class="section-header clearfix"> <div class="pull-left"> <a class="move-row" href="javascript:void(0)"><i class="fa fa-arrows"></i></a> <div class="row-layout-container"> <a class="add-column" href="javascript:void(0)"><i class="fa fa-plus"></i> ' . JText::_('COM_SPPAGEBUILDER_ADD_COLUMN') . '</a> <ul>'; // generate column layout set $flag = true; foreach ($col_grid as $key => $grid) { $str = str_replace(',', '', $key); if ($row->layout == $str) { $flag = false; } $output .= '<li><a href="#" class="row-layout row-layout-' . $str . ' sp-tooltip' . ($row->layout == $str ? ' active' : '') . '" data-layout="' . $key . '" data-toggle="tooltip" data-placement="top" data-original-title="' . $grid . '"></a></li>'; } $customLayout = ''; $active = ''; if ($flag) { $active = 'active'; $split = str_split($row->layout); $customLayout = implode(',', $split); } $output .= '<li><a href="#" class="row-layout row-layout-custom sp-tooltip ' . $active . '" data-layout="' . $customLayout . '" data-type="custom" data-toggle="tooltip" data-placement="top" data-original-title="Custom"></a></li>'; // end generate column layout set $output .= '</ul> </div> <a class="copy-row" href="javascript:void(0)"><i class="fa fa-copy"></i> ' . JText::_('COM_SPPAGEBUILDER_COPY') . '</a> <a class="paste-row" href="javascript:void(0)"><i class="fa fa-paste"></i> ' . JText::_('COM_SPPAGEBUILDER_PASTE') . '</a> </div> <div class="row-actions pull-right"> <a class="add-rowplus sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_ADD_NEW_ROW') . '"><i class="fa fa-plus"></i></a> <a class="row-options sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_ROW_SETTINGS') . '"><i class="fa fa-cog"></i></a> <a class="duplicate-row sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_CLONE_ROW') . '"><i class="fa fa-files-o"></i></a> <a class="disable-row sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_DISABLE_ROW') . '"><i class="fa fa-eye-slash"></i></a> <a class="delete-row sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_DELETE_ROW') . '"><i class="fa fa-times"></i></a> </div> </div> <div class="row">'; foreach ($row->attr as $key => $column) { $col_setting = SpPgaeBuilder::getAddonRowColumnConfig($column->settings); $output .= '<div class="' . $column->class_name . '" ' . $col_setting . '>'; $output .= '<div class="column">'; foreach ($column->attr as $key => $addon) { if (isset($addon->title)) { $title = $addon->title; } else { $title = $addon->name; } $output .= '<div class="generated"> <div class="generated-items"> <div class="generated-item clearfix"> <img class="item-image" src="' . SpPgaeBuilder::getIcon($addon->name) . '" alt="' . $addon->name . '" width="24">'; $output .= '<h3 data-name="' . $addon->name . '">' . $title . '</h3>'; $output .= '<div class="action"> <a class="addon-edit" href="javascript:void(0)"> <i class="fa fa-pencil"></i> </a> <a class="addon-duplicate" href="javascript:void(0)"> <i class="fa fa-repeat"></i> </a> <a class="remove-addon" href="javascript:void(0)"> <i class="fa fa-times"></i> </a> </div> <div class="item-inner">'; foreach ($addon->atts as $field => $value) { $sp_builder_elements['sp_' . $addon->name]['attr'][$field]['std'] = $value; } foreach ($sp_builder_elements['sp_' . $addon->name]['attr'] as $name => $value) { $output .= SpPgaeBuilder::outputGenerate($name, $value); } if (count($addon->scontent)) { $output .= '<div class="repeatable-items">'; $output .= '<a href="javascript:void(0)" class="clone-repeatable sppb-btn sppb-btn-primary"><i class="fa fa-plus"></i> ' . JText::_('COM_SPPAGEBUILDER_ADD_ROW') . '</a>'; $output .= '<div class="accordion">'; foreach ($addon->scontent as $key => $newaddon) { $rep_addon_name = ''; if (isset($newaddon->name)) { $rep_addon_name = $newaddon->name; } $output .= '<div class="accordion-group" data-inner_base="' . $rep_addon_name . '">'; $output .= '<div class="accordion-heading"> <a href="javascript:void(0)" class="action-move"><i class="fa fa-ellipsis-v"></i></a> <a class="accordion-toggle" data-toggle="collapse"></a> <a href="javascript:void(0)" class="action-remove"><i class="fa fa-times"></i></a> <a href="javascript:void(0)" class="action-duplicate"><i class="fa fa-copy"></i></a> </div>'; $output .= '<div class="accordion-body collapse">'; $output .= '<div class="accordion-inner">'; foreach ($newaddon->atts as $field => $value) { $sp_builder_elements['sp_' . $addon->name]['attr']['repetable_item']['attr'][$field]['std'] = $value; } foreach ($sp_builder_elements['sp_' . $addon->name]['attr']['repetable_item']['attr'] as $name => $values) { $output .= SpPgaeBuilder::outputGenerate($name, $values); } $output .= '</div>'; $output .= '</div>'; $output .= '</div>'; } $output .= '</div>'; $output .= '</div>'; } $output .= '</div> </div> </div> </div>'; } $output .= '</div>'; $output .= '<div class="col-settings"> <a class="add-addon" href="javascript:void(0)"><i class="fa fa-plus"></i> ' . JText::_("COM_SPPAGEBUILDER_ADDON") . '</a> <a class="column-options" href="javascript:void(0)"><i class="fa fa-cog"></i> ' . JText::_("COM_SPPAGEBUILDER_OPTIONS") . '</a> </div> </div>'; } $output .= '</div> </div>'; } $output .= '</div>'; $output .= '</div>'; echo $output; }