예제 #1
0
function wpm_print_tree($menuid, $item_id, $prev_id, $level, $class)
{
    global $wpm_options, $wpm_error;
    $item = wpm_read_node($item_id);
    $next_id = $item->side;
    $menu = wpm_read_node($menuid);
    $class = $class == "" ? "alternate" : "";
    $url = $wpm_options->menubar_url;
    $url_up = $wpm_options->form_action . '&action=swap&menuid=' . $menuid . '&itemid=' . $prev_id;
    $url_down = $wpm_options->form_action . '&action=swap&menuid=' . $menuid . '&itemid=' . $item->id;
    $url_edit = $wpm_options->form_action . '&action=edit&menuid=' . $menuid . '&itemid=' . $item->id;
    $url_delete = $wpm_options->form_action . '&action=delete&menuid=' . $menuid . '&itemid=' . $item->id;
    $up = $prev_id ? "<a href='{$url_up}' class='edit' title='" . __('move up', 'wpm') . "'>\r\n\t\t\t\t<img src='{$url}/up.gif' /></a>" : "";
    $down = $next_id ? "<a href='{$url_down}' class='edit' title='" . __('move down', 'wpm') . "'>\r\n\t\t\t\t<img src='{$url}/down.gif' /></a>" : "";
    $image = $menu->features['images'] == true && $item->imageurl ? "<img src=\"{$item->imageurl}\" height=\"16\" width=\"16\" />" : '';
    $edit = "<a href='{$url_edit}' class='edit'>" . __('Edit', 'wpm') . "</a>";
    $delete = "<a href='" . wp_nonce_url($url_delete, 'delete_' . $item->id) . "' class='delete'>" . __('Delete', 'wpm') . "</a>";
    $name = wpm_display_name($item);
    if ($item->down && in_array($item->type, array('CategoryTree', 'PageTree', 'TagList'))) {
        $name = "<strong style=\"color:red;\">{$name} *</strong>";
        $wpm_error = 'ghostchildren';
    }
    echo "<tr class=\"{$class}\">\r\n\t\t<td align='center'>{$up}</td>\r\n\t\t<td align='center'>{$down}</td>\r\n\t\t<td>" . str_repeat("&#8212; ", $level) . "{$image} {$name}</td>\r\n\t\t<td>{$item->type}</td>\r\n\t\t<td>";
    $sel = wpm_display_selection($item);
    if ($sel[1]) {
        echo "<strong>{$sel[0]}</strong> {$sel[1]} ";
    }
    echo wpm_display_fields($item);
    echo "</td>\r\n\t\t<td align='center'>{$edit}</td>\r\n\t\t<td align='center'>{$delete}</td>\r\n\t\t</tr>\n";
    if ($item->down) {
        $class = wpm_print_tree($menuid, $item->down, 0, $level + 1, $class);
    }
    if ($item->side) {
        $class = wpm_print_tree($menuid, $item->side, $item_id, $level, $class);
    }
    return $class;
}
예제 #2
0
function _wpm_is_descendant($node_id, $parent_id, $level = 0)
{
    if ($node_id == $parent_id) {
        return true;
    }
    $item = wpm_read_node($parent_id);
    if ($item->down) {
        if (_wpm_is_descendant($node_id, $item->down, $level + 1)) {
            return true;
        }
    }
    if ($level && $item->side) {
        if (_wpm_is_descendant($node_id, $item->side, $level)) {
            return true;
        }
    }
    return false;
}
예제 #3
0
function wpm_item_list($item_id, $list, $level)
{
    $item = wpm_read_node($item_id);
    if ($level > 0) {
        $name = wpm_display_name($item);
        $list[$item->id] = str_repeat("&#8212; ", $level - 1) . $name;
    }
    if ($item->down) {
        $list = wpm_item_list($item->down, $list, $level + 1);
    }
    if ($item->side) {
        $list = wpm_item_list($item->side, $list, $level);
    }
    return $list;
}