Added the wobject superclass and the first wobject "Item".
This commit is contained in:
parent
98960353c4
commit
842a0eb9db
11 changed files with 585 additions and 222 deletions
|
|
@ -60,9 +60,9 @@ sub _reorderPages {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
sub _traversePageTree {
|
||||
my ($a, $b, %page, %widget, $output, $depth, $i, $spacer);
|
||||
my ($a, $b, %page, %wobject, $output, $depth, $i, $spacer);
|
||||
tie %page, 'Tie::CPHash';
|
||||
tie %widget, 'Tie::CPHash';
|
||||
tie %wobject, 'Tie::CPHash';
|
||||
$spacer = '<img src="'.$session{setting}{lib}.'/spacer.gif" width=12>';
|
||||
for ($i=1;$i<=$_[1];$i++) {
|
||||
$depth .= $spacer;
|
||||
|
|
@ -71,11 +71,11 @@ sub _traversePageTree {
|
|||
while (%page = $a->hash) {
|
||||
$output .= $depth.'<img src="'.$session{setting}{lib}.'/page.gif" align="middle">'.
|
||||
' <a href="'.WebGUI::URL::gateway($page{urlizedTitle}).'">'.$page{title}.'</a><br>';
|
||||
$b = WebGUI::SQL->read("select * from widget where pageId=$page{pageId}");
|
||||
while (%widget = $b->hash) {
|
||||
$b = WebGUI::SQL->read("select * from wobject where pageId=$page{pageId}");
|
||||
while (%wobject = $b->hash) {
|
||||
$output .= $depth.$spacer.
|
||||
'<img src="'.$session{setting}{lib}.'/widget.gif"> '.
|
||||
$widget{title}.'<br>';
|
||||
'<img src="'.$session{setting}{lib}.'/wobject.gif"> '.
|
||||
$wobject{title}.'<br>';
|
||||
}
|
||||
$b->finish;
|
||||
$output .= _traversePageTree($page{pageId},$_[1]+1);
|
||||
|
|
|
|||
|
|
@ -47,17 +47,17 @@ sub www_search {
|
|||
$result{$data[0]} += 1;
|
||||
}
|
||||
$sth->finish;
|
||||
$sth = WebGUI::SQL->read("select pageId from widget where title like '%".$term."%' and pageId > 25");
|
||||
$sth = WebGUI::SQL->read("select pageId from wobject where title like '%".$term."%' and pageId > 25");
|
||||
while (@data = $sth->array) {
|
||||
$result{$data[0]} += 5;
|
||||
}
|
||||
$sth->finish;
|
||||
$sth = WebGUI::SQL->read("select pageId from widget where description like '%".$term."%' and pageId > 25");
|
||||
$sth = WebGUI::SQL->read("select pageId from wobject where description like '%".$term."%' and pageId > 25");
|
||||
while (@data = $sth->array) {
|
||||
$result{$data[0]} += 2;
|
||||
}
|
||||
$sth->finish;
|
||||
$sth = WebGUI::SQL->read("select widget.pageId from Article,widget where Article.widgetId=widget.widgetId and Article.body like '%".$term."%'");
|
||||
$sth = WebGUI::SQL->read("select wobject.pageId from Article,wobject where Article.wobjectId=wobject.wobjectId and Article.body like '%".$term."%'");
|
||||
while (@data = $sth->array) {
|
||||
$result{$data[0]} += 2;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ sub www_viewStatistics {
|
|||
($data) = WebGUI::SQL->quickArray("select count(*) from page where parentId>25");
|
||||
$data++;
|
||||
$output .= '<tr><td class="tableHeader">'.WebGUI::International::get(147).'</td><td class="tableData">'.$data.'</td></tr>';
|
||||
($data) = WebGUI::SQL->quickArray("select count(*) from widget");
|
||||
($data) = WebGUI::SQL->quickArray("select count(*) from wobject");
|
||||
$data--;
|
||||
$output .= '<tr><td class="tableHeader">'.WebGUI::International::get(148).'</td><td class="tableData">'.$data.'</td></tr>';
|
||||
($data) = WebGUI::SQL->quickArray("select count(*) from style where styleId>25");
|
||||
|
|
|
|||
|
|
@ -22,12 +22,13 @@ our @ISA = qw(Exporter);
|
|||
our @EXPORT = qw(&www_purgeTrash &www_purgeTrashConfirm);
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub _purgeWidgets {
|
||||
my ($b, $widgetId, $widgetType, $func);
|
||||
$b = WebGUI::SQL->read("select widgetId, namespace from widget where pageId=$_[0]");
|
||||
while (($widgetId,$widgetType) = $b->array) {
|
||||
$func = "WebGUI::Widget::".$widgetType."::purge";
|
||||
&$func($widgetId);
|
||||
sub _purgeWobjects {
|
||||
my ($b, $wobjectId, $namespace, $w, $cmd);
|
||||
$b = WebGUI::SQL->read("select wobjectId, namespace from wobject where pageId=$_[0]");
|
||||
while (($wobjectId,$namespace) = $b->array) {
|
||||
$cmd = "WebGUI::Wobject::".$namespace;
|
||||
$w = $cmd->new({wobjectId=>$wobjectId,namespace=>$namespace});
|
||||
$w->purge;
|
||||
}
|
||||
$b->finish;
|
||||
}
|
||||
|
|
@ -38,7 +39,7 @@ sub _recursePageTree {
|
|||
$a = WebGUI::SQL->read("select pageId from page where parentId=$_[0]");
|
||||
while (($pageId) = $a->array) {
|
||||
_recursePageTree($pageId);
|
||||
_purgeWidgets($pageId);
|
||||
_purgeWobjects($pageId);
|
||||
WebGUI::SQL->write("delete from page where pageId=$pageId");
|
||||
}
|
||||
$a->finish;
|
||||
|
|
@ -65,7 +66,7 @@ sub www_purgeTrash {
|
|||
sub www_purgeTrashConfirm {
|
||||
if (WebGUI::Privilege::isInGroup(3)) {
|
||||
_recursePageTree(3);
|
||||
_purgeWidgets(3);
|
||||
_purgeWobjects(3);
|
||||
return "";
|
||||
} else {
|
||||
return WebGUI::Privilege::adminOnly();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue