Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Arguile's scratchpad

by Arguile (Hermit)
on Jun 04, 2004 at 18:05 UTC ( #361038=scratchpad: print w/ replies, xml ) Need Help??

In response to your retitling nodes and all replies, I thought I'd try flexing my pmdev muscles for the first time. :)

It's a quick untested hack, but should work with only a few minor modifications; thing like how to get form vars in pm, where it should go, if it's even valid.... You know, little stuff like that <g>.

Hope it helps.

# Bredth first listing of all nodes under given root (incl. root). # my $get_children = sub { my $parents = \@_; # Hackery. We should really only accept one id. my @children; my $dbh = $DB->getDatabaseHandle; local $" = ','; while ( @$parents > 0 ) { push @children, @$parents; $parents = $dbh->selectcol_arrayref(qq{ SELECT note_id FROM note WHERE parent_node IN ( @$parents ) }); } return @children; # Returns root at head of list (easier later ;) } # Runs a search and replace on the title of selected nodes. Returns # number of records updated (0 still true). # my $retitle = sub { my $new_title = shift; my $old_title = shift; my @nodes = @_; my $dbh = $DB->getDatabaseHandle; local $" = ','; $dbh->do(qq{ UPDATE note SET title = REPLACE(title, ? , ?) WHERE note_id IN( @nodes ) }, undef, ($old_title, $new_title) ); } my $id = getId($NODE); $retitle_nodes->( 'new_title_var_goes_here', getNodeById($id)->{title} +, $get_children->($id) );

P.S. While I doubt a query-per-node tree traversal (ala list replies) would be faster here -- even with the fact it's prepared -- I can change it if you'd like.


Advanced Sorting - GRT - Guttman Rosler Transform
Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2014-08-02 09:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Who would be the most fun to work for?















    Results (55 votes), past polls