function recurse_pages($pages, $spaces = 0, $layoutsBlocks = [], $pageWidgets = [], $pagesWidgets = []) { $data = ''; foreach ($pages as $page) { // Блок $currentBlock = array_get($pageWidgets, $page['id'] . '.0'); $currentPosition = array_get($pageWidgets, $page['id'] . '.1'); $data .= '<tr data-id="' . $page['id'] . '" data-parent-id="' . $page['parent_id'] . '">'; $data .= '<td>'; if (!empty($page['childs'])) { $data .= '<div class="input-group">'; } $data .= Form::select('blocks[' . $page['id'] . '][block]', [], $currentBlock, ['class' => 'widget-blocks form-control', 'data-layout' => $page['layout_file'], 'data-value' => $currentBlock]); if (!empty($page['childs'])) { $data .= "<div class=\"input-group-btn\">" . Form::button(NULL, ['data-icon' => 'level-down', 'class' => 'set_to_inner_pages btn btn-warning', 'title' => trans('widgets::core.button.select_childs')]) . '</div></div>'; } $data .= '</td><td>'; $data .= Form::text('blocks[' . $page['id'] . '][position]', (int) $currentPosition, ['maxlength' => 4, 'size' => 4, 'class' => 'form-control text-right widget-position']); $data .= '</td><td></td>'; if (acl_check('page::edit')) { $data .= '<th>' . str_repeat("- ", $spaces) . link_to_route('backend.page.edit', $page['title'], [$page['id']]) . '</th>'; } else { $data .= '<th>' . str_repeat("- ", $spaces) . $page['title'] . '</th>'; } $data .= '</tr>'; if (!empty($page['childs'])) { $data .= recurse_pages($page['childs'], $spaces + 5, $layoutsBlocks, $pageWidgets, $pagesWidgets); } } return $data; }
function recurse_pages($id = 0, $level = 0) { $level++; $sql = "SELECT * FROM page_content WHERE parent = " . $id . " ORDER BY page_content_title ASC"; $pageResults = dbQuery($sql); $count = 0; while ($pInfo = dbFetchArray($pageResults)) { $padding = 18 * $level; if ($level != 1) { $style = "style=\"padding-left:" . ($padding + 18) . "px; background-repeat:no-repeat; background-position:" . $padding . "px 0px; background-image:url(images/directory_arrow.gif);\""; } else { $class = ""; } //SECURITY CHECK //ONLY SHOW PAGES THAT THE USER HAS ACCESS TOO $row = $count % 2; echo "<tr>\n"; echo "<td nowrap width=\"1\">\n"; if ($pInfo['page_content_member']) { echo "<a href=\"javascript:void(0);\" title=\"Membership Required\"><img src=\"images/icons/lock_16x16.gif\" border=\"0\"><a>"; } echo "</td>\n"; echo "<td nowrap width\"1\">" . date('m/d/Y', $pInfo['page_content_publish_date']) . "</td>\n"; echo "<td " . $style . "><a href=\"" . PAGE_MANAGE . "?action=edit§ion=webpage&id=" . $pInfo['page_content_id'] . "\">" . output($pInfo['page_content_title']) . "</a></td>\n"; echo "<td nowrap width\"1\">"; if ($pInfo['page_content_status'] == 'pending') { echo "<span class=\"textPending\">Pending</span>"; } else { if ($pInfo['page_content_status'] == 'published') { echo "<span class=\"textActive\">Published</span>"; } else { echo "<span class=\"textInactive\">Unpublished</span>"; } } echo "</td>\n"; echo "<td nowrap width\"1\">\n"; echo "<span class=\"smallText\"><abbr title=\"by " . getAuthor($pInfo['page_content_author']) . "\" style=\"margin:2px;\">Created: " . date('m/d/y g:i a', $pInfo['page_content_added']) . " </abbr></span>\n"; //check to see if this page has been edited //display $modifiedResults = dbQuery('SELECT * FROM page_content_log WHERE page_content_id = ' . $pInfo['page_content_id'] . ' LIMIT 1'); if (dbNumRows($modifiedResults)) { $m = dbFetchArray($modifiedResults); echo "<br>"; echo "<span class=\"smallText\" style=\"font-style:italic;\"><abbr style=\"margin:2px;\" title=\"by " . getAuthor($m['user_id']) . "\">Last Modified: " . date('m/d/y g:i a', $m['page_content_log_timestamp']) . "</abbr></span>"; } echo "</td>\n"; echo "<td align=\"right\" >"; if ($level == 1) { echo "<a class=\"table_addsubpage_link\" href=\"" . PAGE_PUBLISH . "?section=webpage&parent=" . $pInfo['page_content_id'] . "\" title=\"Add Sub Page\">Add Subpage</a>"; echo " "; } if (user_has_permission('banners')) { //echo "<a class=\"table_banner_link\" href=\"".PAGE_MANAGE."?action=banners§ion=webpage&id=".$pInfo['page_content_id']."\" title=\"Add Banner\">Advert</a>\n"; //echo " "; } if (user_has_permission('content') && user_has_page_permissions($pInfo['page_content_id'])) { echo "<a class=\"table_edit_link\" href=\"" . PAGE_MANAGE . "?action=edit§ion=webpage&id=" . $pInfo['page_content_id'] . "\" title=\"Edit " . output($pInfo['page_content_title']) . "\">Edit</a>\n"; echo " "; } if (user_has_permission('admin')) { echo "<a class=\"table_delete_link\" href=\"" . PAGE_MANAGE . "?action=delete§ion=webpage&id=" . $pInfo['page_content_id'] . "\" title=\"Delete " . output($pInfo['page_content_title']) . "\" onclick=\"return confirm('Are you sure you want to delete this page? THIS IS NOT UNDOABLE');\">Delete</a>\n"; } echo "</td>\n"; echo "</tr>\n"; recurse_pages($pInfo['page_content_id'], $level); $count++; } }
function recurse_pages($pages, $spaces = 0, $layouts_blocks = array(), $page_widgets = array(), $pages_widgets = array()) { $data = ''; foreach ($pages as $page) { // Блок $current_block = Arr::path($page_widgets, $page['id'] . '.0'); $current_position = Arr::path($page_widgets, $page['id'] . '.1'); $data .= '<tr data-id="' . $page['id'] . '" data-parent-id="' . $page['parent_id'] . '">'; $data .= '<td>'; if (!empty($page['childs'])) { $data .= '<div class="input-group">'; } $data .= Form::hidden('blocks[' . $page['id'] . '][name]', $current_block, array('class' => 'widget-blocks form-control', 'data-layout' => $page['layout_file'])); if (!empty($page['childs'])) { $data .= "<div class=\"input-group-btn\">" . Form::button(NULL, UI::icon('level-down'), array('class' => 'set_to_inner_pages btn', 'title' => __('Select to child pages'))) . '</div></div>'; } $data .= '</td><td>'; $data .= Form::input('blocks[' . $page['id'] . '][position]', (int) $current_position, array('maxlength' => 4, 'size' => 4, 'class' => 'form-control text-right widget-position')); $data .= '</td><td></td>'; if (Acl::check('page.edit')) { $data .= '<th>' . str_repeat("- ", $spaces) . HTML::anchor(Route::get('backend')->uri(array('controller' => 'page', 'action' => 'edit', 'id' => $page['id'])), $page['title']) . '</th>'; } else { $data .= '<th>' . str_repeat("- ", $spaces) . $page['title'] . '</th>'; } $data .= '</tr>'; if (!empty($page['childs'])) { $data .= recurse_pages($page['childs'], $spaces + 5, $layouts_blocks, $page_widgets, $pages_widgets); } } return $data; }
</tr> </table></td> </tr> <? } ?> </table> <table border="0" cellspacing="0" width="100%" cellpadding="5" class="stripeTable"> <tr > <td class="tableRowHeader" ><input type="checkbox" name="checkAll" id="checkAll" /></td> <td class="tableRowHeader" align="left">Publish Date</td> <td class="tableRowHeader" align="left">Title</td> <td class="tableRowHeader" align="left">Status</td> <td class="tableRowHeader" align="left"> </td> <td class="tableRowHeader" align="left"> </td> </tr> <? recurse_pages(); ?> </table> </form> </td> </tr> </table> <? break; } break; } ?> </div>