iamb-dev Mailing List for IAMB -Iamb A Message Board
Status: Beta
Brought to you by:
rbowen
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(12) |
Dec
(74) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(42) |
Feb
(11) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(2) |
Dec
|
2002 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
From: <rb...@us...> - 2011-11-22 20:53:26
|
Revision: 73 http://iamb.svn.sourceforge.net/iamb/?rev=73&view=rev Author: rbowen Date: 2011-11-22 20:53:20 +0000 (Tue, 22 Nov 2011) Log Message: ----------- Burninate CVSROOT Removed Paths: ------------- trunk/CVSROOT/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Rich B. <rb...@rc...> - 2002-04-03 15:54:47
|
For those of you that still care, IAMB has moved again. IAMB will now be developed by CooperMcGregor (my company) and distributed under the Perl dual license, as before. I'm hosting RT, CVS, and mailing lists. We can add other stuff if/as necessary. An IAMB installation seems to make sense too. ;-) Anyways, if you still care about this project, please see http://www.CooperMcGregor.com/products/iamb/ and get on the new mailing lists. I will not be copying over subscribers from one list to the other, so you'll need to get on the list(s) of your own volition. Please direct follow-up discussion to the new mailing lists. -- Rich Bowen - rb...@rc... ReefKnot - http://www.reefknot.org |
From: Rich B. <rb...@us...> - 2002-03-28 16:03:18
|
Update of /cvsroot/iamb/iamb In directory usw-pr-cvs1:/tmp/cvs-serv2053 Modified Files: index.cgi Log Message: Code tidying. No functional change. Index: index.cgi =================================================================== RCS file: /cvsroot/iamb/iamb/index.cgi,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -r1.29 -r1.30 *** index.cgi 28 Jan 2001 22:30:14 -0000 1.29 --- index.cgi 28 Mar 2002 16:03:15 -0000 1.30 *************** *** 446,477 **** =cut ! sub Edit { ! # Form to edit an existing article ! my ($iamb) = @_; ! my ($template, $details, $sth, $user, ! $article, %articles, %children, ! ); ! my $form = $iamb->form; ! $user = $iamb->WhoAmI; ! $sth =$iamb->dbh->prepare("select * from ". $iamb->articles ." ! where ID=$form->{article} ! "); ! $sth->execute; ! $details = $sth->fetchrow_hashref; ! $details->{title} =~ s/"/"/g; ! # Only the author can edit the article ! if ($user->{ID} && $user->{ID}==$details->{authorID}) { ! $template = 'edit'; ! } ! else { ! # Without access, edit becomes the same as view article ! ($template, $details) = Article($iamb); ! $template = 'notauthor'; } ! return ($template, $details); ! } # End Edit =head2 Update --- 446,476 ---- =cut ! sub Edit { ! # Form to edit an existing article ! my ($iamb) = @_; ! my ( $template, $details, $sth, $user, $article, %articles, %children, ); ! my $form = $iamb->form; ! $user = $iamb->WhoAmI; ! $sth = $iamb->dbh->prepare( "select * from " . $iamb->articles . " ! where ID=$form->{article} ! " ); ! $sth->execute; ! $details = $sth->fetchrow_hashref; ! $details->{title} =~ s/"/"/g; ! ! # Only the author can edit the article ! if ( $user->{ID} && $user->{ID} == $details->{authorID} ) { ! $template = 'edit'; ! } else { ! ! # Without access, edit becomes the same as view article ! ( $template, $details ) = Article($iamb); ! $template = 'notauthor'; } ! return ( $template, $details ); ! } # End Edit =head2 Update *************** *** 485,518 **** =cut ! sub Update { ! # Update an existing article in the database ! my ($iamb) = @_; ! my ($template, $details, $sth, $time, $id, ! $html, $user, $sth2, $parent, ! $now, ! ); ! my $form = $iamb->form; ! $user = $iamb->WhoAmI; ! $sth = $iamb->dbh->prepare("select * from " . $iamb->articles . " where ID=$form->{ID} ! "); ! $sth->execute; ! $details = $sth->fetchrow_hashref; ! ! if ($user->{ID} && $user->{ID} == $details->{authorID}) ! { ! $time = time; # Update the time ! ! # Remove script amd comments ! $form->{body} =~ s/<!--?|<script//ig; ! $form->{body} =~ s/-->//g; ! $form->{image}="" if ($form->{image} eq "http://"); ! $form->{title} ||= 'Untitled'; ! ! for (qw(title body author email link image)) { ! $form->{$_} = $iamb->dbh->quote($form->{$_}); ! } ! $sth = $iamb->dbh->prepare("update ". $iamb->articles . " set title = $form->{title}, body = $form->{body}, --- 484,515 ---- =cut ! sub Update { ! # Update an existing article in the database ! my ($iamb) = @_; ! my ( $template, $details, $sth, $time, $id, $html, $user, $sth2, $parent, ! $now, ); ! ! my $form = $iamb->form; ! $user = $iamb->WhoAmI; ! $sth = $iamb->dbh->prepare( "select * from " . $iamb->articles . " where ID=$form->{ID} ! " ); ! $sth->execute; ! $details = $sth->fetchrow_hashref; ! ! if ( $user->{ID} && $user->{ID} == $details->{authorID} ) { ! $time = time; # Update the time ! ! # Remove script amd comments ! $form->{body} =~ s/<!--?|<script//ig; ! $form->{body} =~ s/-->//g; ! $form->{image} = "" if ( $form->{image} eq "http://" ); ! $form->{title} ||= 'Untitled'; ! ! for (qw(title body author email link image)) { ! $form->{$_} = $iamb->dbh->quote( $form->{$_} ); ! } ! $sth = $iamb->dbh->prepare( "update " . $iamb->articles . " set title = $form->{title}, body = $form->{body}, *************** *** 520,553 **** image = $form->{image} where ID = $form->{ID} ! "); ! # Users cannot move a thread/article from one forum to another ! # at this time. ! # Forum is not specified because articleID is always unique. ! $sth->execute; ! $now = time; ! $sth = $iamb->dbh->prepare("update ". $iamb->threads ." set updated = $now where ID = $form->{threadID} ! "); ! $sth->execute; ! } ! # Get the unread marks right ! $iamb->UpdateUnread($form->{forum}, $user->{ID}); ! $sth = $iamb->dbh->prepare("delete from ". $iamb->unread . " where userID = $user->{ID} and articleID = $form->{ID} and marktype = 1 ! "); ! $sth->execute; ! $sth->finish; ! ! $form->{article} = $form->{ID}; ! ($template, $details) = Article($iamb); ! return ($template, $details); ! } # End sub Update =head2 MarkUnread --- 517,551 ---- image = $form->{image} where ID = $form->{ID} ! " ); ! # Users cannot move a thread/article from one forum to another ! # at this time. ! # Forum is not specified because articleID is always unique. ! $sth->execute; ! ! $now = time; ! $sth = $iamb->dbh->prepare( "update " . $iamb->threads . " set updated = $now where ID = $form->{threadID} ! " ); ! $sth->execute; ! } ! # Get the unread marks right ! $iamb->UpdateUnread( $form->{forum}, $user->{ID} ); ! $sth = $iamb->dbh->prepare( "delete from " . $iamb->unread . " where userID = $user->{ID} and articleID = $form->{ID} and marktype = 1 ! " ); ! $sth->execute; ! $sth->finish; ! $form->{article} = $form->{ID}; ! ( $template, $details ) = Article($iamb); ! ! return ( $template, $details ); ! } # End sub Update =head2 MarkUnread *************** *** 903,906 **** --- 901,907 ---- Current version: $Revision$ $Log$ + Revision 1.30 2002/03/28 16:03:15 rbowen + Code tidying. No functional change. + Revision 1.29 2001/01/28 22:30:14 rbowen Date/Time field name change. |
From: Rich B. <rb...@rc...> - 2001-11-29 13:48:08
|
On Thu, 29 Nov 2001, Benjamin wrote: > Hi there, > I like iamb! It has (almost) everything I expect from a decent Message > Board Software. But the stable code is somewhat a bit messy, and quite > difficult to expand. For example I want User Auth in every case, so no > one without an account can post. That alone is not to difficult, but > the database is not that well documented. It's quite hard to figure out > what a specific column is for, or even a table (e.g. forum). > So my question: Are yuo still developing iamb? What about the "major > rewrite" you wanted to do? The last sourceforge news post ist quite old. > In order to adjust iamb to my needs, I could help in the development. It is still a little in development, because I am using it on a number of sites, but it is not under the sort of active development that we had envisioned, largely due to lack of interested participants. If you want to submit patches, we would be glad to look them over. -- Pilgrim, how you journey on the road you chose To find out where the winds die and where the stories go --Pilgrim (Enya - A Day Without Rain) |
From: Benjamin <ben...@nu...> - 2001-11-29 12:26:36
|
Hi there, I like iamb! It has (almost) everything I expect from a decent Message Board Software. But the stable code is somewhat a bit messy, and quite difficult to expand. For example I want User Auth in every case, so no one without an account can post. That alone is not to difficult, but the database is not that well documented. It's quite hard to figure out what a specific column is for, or even a table (e.g. forum). So my question: Are yuo still developing iamb? What about the "major rewrite" you wanted to do? The last sourceforge news post ist quite old. In order to adjust iamb to my needs, I could help in the development. Benjamin -- -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GIT/P dx s: a? C(+++) L++ P+++ N++ w PS+ PE-(++) Y+ PGP t+ 5- X R@ !tv b+++ DI(+) D+ G e++(+++) UF++ h-- r@ y? ------END GEEK CODE BLOCK------ |
From: <no...@so...> - 2001-08-31 19:09:11
|
Task #24331 has been updated. Project: IAMB -Iamb A Message Board Subproject: Internals Summary: IAMBd - daemon for atomic changes of strees Complete: 35% Status: Open Authority : sungo Assigned to: nobody Description: A daemon is needed to accept and handle atomic changes to the stree structures. This will eliminate data collision and all other nastiness associated with these structures. Ideally, this will done in POE. ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=24331&group_id=14613&group_project_id=6937 |
From: Matt C. <su...@us...> - 2001-02-07 03:51:11
|
Update of /cvsroot/iamb/iamb-dev/pm/IAMB In directory usw-pr-cvs1:/tmp/cvs-serv21925/IAMB Added Files: Stree.pm Log Message: stree stuff added. the test script is not proper yet (see perldoc Test) but i dont feel like correcting it right now. --- NEW FILE --- # $Header: /cvsroot/iamb/iamb-dev/pm/IAMB/Stree.pm,v 1.1 2001/02/07 03:51:28 sungo Exp $ package IAMB::Stree; =head1 NAME IAMB::Stree =head1 DESCRIPTION Handles stringified tree structures for IAMB =head1 AUTHOR(S) Ken Rietz (kr...@qx...) Matt Cashner (ma...@cr...) =head1 DATE $Date: 2001/02/07 03:51:28 $ =head1 METHODS =over 4 =cut use strict; use warnings; use vars qw($VERSION); $VERSION = '0.01'; =head 2 plant() is the constructor for the Stree class. It is called with the ID of the root article of the thread as a named parameter: my $newstree = Stree -> plant(ARTICLE => $ArticleID); =cut sub plant { my ($class, %args) = @_; my $stree = '[' . $args{ARTICLE} . ']'; bless $stree, $class; return $stree; } sub stree { my $self = shift; if(@_) { $self->{STREE} = shift; } return $self->{STREE}; } # This is a utility subroutine. It separates all the elements of $stree into # individual array elements. It does this by inserting commas (the normal # delimiter between successive IDs), and then splits on ','. sub _explode { my ($stree, # Input @split_ra, # Output %args, ); %args = @_; $stree = $args{STREE} or return 0; $stree =~ s/\[/,\[,/g; # Put commas before and after '[' $stree =~ s/\]/,\],/g; # Put commas before and after ']' $stree =~ s/,,/,/g; # In case we got too zealous $stree =~ s/^,//; @split_ra = split ',', $stree; return @split_ra; } =head2 dissect() splits $stree into two (non-stree) pieces exactly at the number $ArticleID. Note that if $ArticleID does not occur in $stree, then both $before and $after are null. =cut sub dissect { my $self = shift; my ($stree, $ArticleID, %args, ); %args = @_; =begin comments The trick is to come up with the right regex, and let the (efficient!) regex engine grind it through. The way to do it is to look for $ArticleID preceded immediately and followed immediately by ',', '[', or ']'. That's the crux of the regex. _explode() would be faster, most likely, except that reconstructing the $before and $after strings is a royal mess. =end comments =cut $stree = $self->{STREE}; $ArticleID = $args{ARTICLE} or return; $stree =~ /(.*[,\[\]])$ArticleID([,\[\]].*)/; return ($1, $2); } =head2 heritage() Constructs an array of the successive immediate ancestors of any given $ArticleID in any $stree, back to the root article. =cut sub heritage { my $self = shift; my ($stree, $ArticleID, %args, @exploded_stree, $index, $tmp, $generation, $max_generation, @ancestors, ); %args = @_; =begin comments The trick here is to note one critical fact: The last article at any specific generational level before the article is the ancestor in that generation. The strategy I use is to _explode the $stree, scan from the end to the beginning looking for $ArticleID, then use the '[' and ']' to count generations, with the first occurrence (still going backwards) at each level stored in the @ancestors array. I never would have guessed this possible in one pass, but it is! =end comments =cut $stree = $self->{STREE}; $ArticleID = $args{ARTICLE} or return; @exploded_stree = _explode(STREE => $stree); $index = $#exploded_stree; $index-- until (($index < 0) || ($ArticleID eq $exploded_stree[$index])); # This next return ought to be an error: $ArticleID not found in $stree return if ($index<0); $generation = -1; $max_generation = -1; while ($tmp = $exploded_stree[--$index]) { next if $tmp =~ /\d+/; last if ($index <= 0); if ($tmp eq ']') { $generation--; next; } elsif ($tmp eq '[') { $generation++; if ($generation > $max_generation) { $max_generation = $generation; $tmp = $exploded_stree[--$index]; $ancestors[$generation] = $tmp if defined $tmp; } } } return @ancestors; } =head2 prune() prune() deletes the article and all the articles responding to it (recursively). That is, it deletes the entire subthread starting at the article. A value is returned which is the deleted subthread. The call looks like this $subthread = $stree -> prune( ARTICLE => $ArticleID ); =cut sub prune { my $self = shift; my ($stree, $ArticleID, %args, $branch, # Return value $before, $after, # From dissect @exploded_stree, # From _explode $generation, # Number unpaired '[' $numclosebrackets, # Total number ']' $index, # Step through @exploded_stree $regex, # For clobbering whole subthread ); %args = @_; $stree = $self->{STREE}; $ArticleID = $args{ARTICLE} or return; ($before, $after) = $self->dissect( ARTICLE => $ArticleID ); # This should be an error: $ArticleID not found in $stree return unless ($before); =begin comments The $before of dissect is mostly what we want. We do have to remove a trailing comma if the first character of $after is a '[' or a ','. The $after might have to be altered. If the next character is ']', nothing changes. If the next character is ',', only remove the comma. If the next character is '[', life gets more interesting. We have to find the corresponding ']', and remove everything in between. =end comments =cut if (($after =~ /^\]/) || ($after =~ /^,/)) { $stree = $before . $after; $branch = '[' . $ArticleID . ']'; } else { =begin comments The purpose of this loop is to count the number of close brackets there are up to the end of the subthread. We then use a regex to clobber just that much of $after. It would be nice to do this with a regex, but that is intractable with no known bound on the number of closing brackets. =end comments =cut @exploded_stree = $self->_explode(STREE => $after); $generation = $numclosebrackets = $index = 0; while($generation <= 0) { if ($exploded_stree[$index] eq '[') { $generation++; } elsif ($exploded_stree[$index] eq ']') { $generation--; $numclosebrackets++; } $index++; } # Clobber the rest of the subthread. $regex = '^' . '[^\]]*]' x $numclosebrackets; $after =~ s/($regex)//; $branch = '[' . $ArticleID . $1 . ']'; } # End of else that deals with '[' # Reassemble $stree and clean it up. $stree = $before . $after; $stree =~ s/\[\]/,/; $stree =~ s/,,/,/g; $stree =~ s/,\]/\]/g; $stree =~ s/([\[\]]),/$1/g; $stree =~ s/^,$//; return $branch; } 1; =head1 HISTORY $Log: Stree.pm,v $ Revision 1.1 2001/02/07 03:51:28 sungo stree stuff added. the test script is not proper yet (see perldoc Test) but i dont feel like correcting it right now. =cut |
From: Matt C. <su...@us...> - 2001-02-07 03:51:11
|
Update of /cvsroot/iamb/iamb-dev/pm/t In directory usw-pr-cvs1:/tmp/cvs-serv21925/t Added Files: stree.t Log Message: stree stuff added. the test script is not proper yet (see perldoc Test) but i dont feel like correcting it right now. --- NEW FILE --- #!/usr/bin/perl BEGIN { $| = 1; print "1..5\n"; } END {print "not ok 1\n" unless $loaded;} use IAMB::Stree; $loaded = 1; print "ok 1\n"; my $obj = IAMB::Stree->new(STREE => '[1[2[3,4[5]]6[7,8,9]10,11[12,13[14[15[16]]17]]]'); #hackish i know but you shouldnt be calling this outside the module anyway my @test_explode = IAMB::Stree::_explode(STREE => $obj->stree); my $count = scalar @test_explode; if( $count == 34) { print "ok 2\n"; } else { print "not ok 2 \n"; } my ($before, $after) = $obj->dissect(ARTICLE => 9); if( ($before eq '[1[2[3,4[5]]6[7,8,') && ($after eq ']10,11[12,13[14[15[16]]17]]]')) { print "ok 3\n"; } else { print "not ok 3\n"; } my @ancestors = $obj->heritage( ARTICLE => 6); if ($ancestors[0] == 1) { print "ok 4\n"; } else { print "not ok 4\n"; } my $branch = $obj->prune( ARTICLE => 9 ); if($branch eq '[9]') { print "ok 5\n"; } else { print "not ok 5\n"; } |
From: Matt C. <su...@us...> - 2001-02-07 03:42:56
|
Update of /cvsroot/iamb/iamb-dev/pm/t In directory usw-pr-cvs1:/tmp/cvs-serv21315/t Log Message: Directory /cvsroot/iamb/iamb-dev/pm/t added to the repository |
From: Matt C. <su...@us...> - 2001-02-07 03:07:26
|
Update of /cvsroot/iamb/iamb-dev/pm/IAMB In directory usw-pr-cvs1:/tmp/cvs-serv17735/IAMB Log Message: Directory /cvsroot/iamb/iamb-dev/pm/IAMB added to the repository |
From: Matt C. <su...@us...> - 2001-02-07 03:00:36
|
Update of /cvsroot/iamb/iamb-dev/pm In directory usw-pr-cvs1:/tmp/cvs-serv17154/pm Log Message: Directory /cvsroot/iamb/iamb-dev/pm added to the repository |
From: Matt C. <su...@us...> - 2001-02-07 02:59:11
|
Update of /cvsroot/iamb/iamb-dev In directory usw-pr-cvs1:/tmp/cvs-serv17004 Removed Files: Community.ini IAMB.pm MANIFEST Makefile.PL admin.cgi index.cgi iniedit.cgi Log Message: further clean up --- Community.ini DELETED --- --- IAMB.pm DELETED --- --- MANIFEST DELETED --- --- Makefile.PL DELETED --- --- admin.cgi DELETED --- --- index.cgi DELETED --- --- iniedit.cgi DELETED --- |
From: Matt C. <su...@us...> - 2001-02-07 02:49:41
|
Update of /cvsroot/iamb/iamb-dev/scripts In directory usw-pr-cvs1:/tmp/cvs-serv16021/scripts Removed Files: process.pl set_threadid.pl Log Message: clean start. time to write code, folks --- process.pl DELETED --- --- set_threadid.pl DELETED --- |
From: Matt C. <su...@us...> - 2001-02-07 02:49:39
|
Update of /cvsroot/iamb/iamb-dev/templates In directory usw-pr-cvs1:/tmp/cvs-serv16021/templates Removed Files: admin.html article.html edit.html flat.html flat_article.html here.gif main.html new.html read_line.html redirect.html search.html thread_line.html thread_line_unread.html threadlist.html unread_line.html Log Message: clean start. time to write code, folks --- admin.html DELETED --- --- article.html DELETED --- --- edit.html DELETED --- --- flat.html DELETED --- --- flat_article.html DELETED --- --- here.gif DELETED --- --- main.html DELETED --- --- new.html DELETED --- --- read_line.html DELETED --- --- redirect.html DELETED --- --- search.html DELETED --- --- thread_line.html DELETED --- --- thread_line_unread.html DELETED --- --- threadlist.html DELETED --- --- unread_line.html DELETED --- |
From: Matt C. <su...@us...> - 2001-02-07 02:49:38
|
Update of /cvsroot/iamb/iamb-dev/setup In directory usw-pr-cvs1:/tmp/cvs-serv16021/setup Removed Files: IAMB.mysql Log Message: clean start. time to write code, folks --- IAMB.mysql DELETED --- |
From: Matt C. <su...@us...> - 2001-02-07 02:49:38
|
Update of /cvsroot/iamb/iamb-dev/IAMB In directory usw-pr-cvs1:/tmp/cvs-serv16021/IAMB Removed Files: Article.pm Forum.pm StdModule.pm Thread.pm User.pm Log Message: clean start. time to write code, folks --- Article.pm DELETED --- --- Forum.pm DELETED --- --- StdModule.pm DELETED --- --- Thread.pm DELETED --- --- User.pm DELETED --- |
From: Rich B. <rb...@us...> - 2001-02-03 20:49:17
|
Update of /cvsroot/iamb/iamb-modperl In directory usw-pr-cvs1:/tmp/cvs-serv30737 Log Message: Added iamb-modperl repository Status: Vendor Tag: IAMB Release Tags: start No conflicts created by this import ***** Bogus filespec: - ***** Bogus filespec: Imported ***** Bogus filespec: sources |
From: Rich B. <rb...@us...> - 2001-01-31 00:52:23
|
Update of /cvsroot/iamb/iamb-dev In directory usw-pr-cvs1:/tmp/cvs-serv8425 Removed Files: process.pl set_threadid.pl Log Message: Moved non-cgi stuff into scripts subdirectory. Might do something with these some day, or we may just blow them away later on. --- process.pl DELETED --- --- set_threadid.pl DELETED --- |
From: Rich B. <rb...@us...> - 2001-01-31 00:52:23
|
Update of /cvsroot/iamb/iamb-dev/scripts In directory usw-pr-cvs1:/tmp/cvs-serv8425/scripts Added Files: process.pl set_threadid.pl Log Message: Moved non-cgi stuff into scripts subdirectory. Might do something with these some day, or we may just blow them away later on. --- NEW FILE --- #!/usr/bin/perl use DBI; use Community::IAMB; use strict; my $iamb = new Community::IAMB; my $dbh = DBI->connect($iamb->database, $iamb->DBIlogin, $iamb->DBIpassword); my (@info, $line, $subject, $from, $body); @info = <STDIN>; $line = "X"; # Get the headers while ($line =~ /\w/) { $line = shift @info; if ($line =~ /^Subject:/) { ($subject = $line) =~ s/^Subject:\s+//; } # Endif elsif ($line =~ /^From:/) { ($from = $line) =~ s/^From:\s+//; } # Endif } # Wend # Get the body $body = join "", @info; # Put it in the database my $id = GetID($dbh, 'article','ID'); my $time = time; my $sth = $dbh->prepare("insert into article (ID, title, body, date_time, author, email, parent) values ($id, '$subject','$body',$time, '$from','$from',0) "); $sth->execute; ####### =head1 NAME process.pl =head1 DESCRIPTION This was an early attempt to make a mail->IAMB gateway. It even worked pretty well. I left it out because I thought - and still think - that a mail->IAMB gateway allows people to throw things at the board without actually participating, which is rather contrary to the whole notion of Community. But I've left the code in here because I expect that I'll be called upon to write it again some time, and I'd rather not have to write it from scratch. =cut --- NEW FILE --- #!/usr/bin/perl; use Community::IAMB; use strict; my $iamb = new Community::IAMB; # Need to ditch all thread IDs for this to work my $sth = $iamb->dbh->prepare("update " . $iamb->articles . " set threadID=-1"); $sth->execute; my (@root, $id); $sth = $iamb->dbh->prepare("select ID from " . $iamb->articles . " where parent=0"); $sth->execute; $sth->bind_columns (undef, \$id); push @root, $id while $sth->fetch; foreach $id (@root) { print "Setting thread ids on thread $id\n"; my @kids = $iamb->Decendants($iamb->dbh, $id); my $kids = join ', ', @kids; print "$kids\n"; $sth = $iamb->dbh->prepare("update " . $iamb->articles . " set threadID = $id where ID in ($kids) "); $sth->execute; } |
From: Rich B. <rb...@us...> - 2001-01-31 00:50:46
|
Update of /cvsroot/iamb/iamb-dev/scripts In directory usw-pr-cvs1:/tmp/cvs-serv8229/scripts Log Message: Directory /cvsroot/iamb/iamb-dev/scripts added to the repository |
From: Rich B. <rb...@us...> - 2001-01-31 00:49:20
|
Update of /cvsroot/iamb/iamb-dev In directory usw-pr-cvs1:/tmp/cvs-serv7959 Removed Files: Changes Log Message: We never used the changes file anyway. --- Changes DELETED --- |
From: Rich B. <rb...@us...> - 2001-01-31 00:48:24
|
Update of /cvsroot/iamb/iamb-dev In directory usw-pr-cvs1:/tmp/cvs-serv7709 Removed Files: talk_story.txt Log Message: I like the story, but it does not really fit any more. --- talk_story.txt DELETED --- |
From: Rich B. <rb...@us...> - 2001-01-31 00:46:33
|
Update of /cvsroot/iamb/iamb-dev In directory usw-pr-cvs1:/tmp/cvs-serv7443 Removed Files: .htaccess Log Message: OK, we're going to stop doing Apache authentication, so this is not needed any more. --- .htaccess DELETED --- |
From: Rich B. <rb...@us...> - 2001-01-31 00:45:09
|
Update of /cvsroot/iamb/iamb-dev In directory usw-pr-cvs1:/tmp/cvs-serv7250 Removed Files: Community.pm Log Message: Removing stuff that is no longer needed. --- Community.pm DELETED --- |
From: Rich B. <rb...@us...> - 2001-01-31 00:43:46
|
Update of /cvsroot/iamb/iamb-dev/Community In directory usw-pr-cvs1:/tmp/cvs-serv6764/Community Removed Files: Directory.pm IAMB.pm Links.pm User.pm Log Message: Removing some stuff that is no longer needed. --- Directory.pm DELETED --- --- IAMB.pm DELETED --- --- Links.pm DELETED --- --- User.pm DELETED --- |