version 1.2, 2011/02/15 14:54:51
|
version 1.6, 2014/02/28 19:24:03
|
Line 29
|
Line 29
|
package Apache::lonwishlistdisplay; |
package Apache::lonwishlistdisplay; |
|
|
use strict; |
use strict; |
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common :http); |
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonhtmlcommon; |
use Apache::lonhtmlcommon; |
Line 48 my %TreeHash;
|
Line 48 my %TreeHash;
|
# ----------------------------------------------------- Main Handler, package lonwishlistdisplay |
# ----------------------------------------------------- Main Handler, package lonwishlistdisplay |
sub handler { |
sub handler { |
my ($r) = @_; |
my ($r) = @_; |
&Apache::loncommon::content_type($r,'text/html'); |
|
$r->send_http_header; |
if ($r->header_only) { |
|
&Apache::loncommon::content_type($r,'text/html'); |
|
$r->send_http_header; |
|
return OK; |
|
} |
|
|
|
if ($env{'user.adv'}) { |
|
&Apache::loncommon::content_type($r,'text/html'); |
|
$r->send_http_header; |
|
} else { |
|
$env{'user.error.msg'}= |
|
"/adm/wishlist:bre:0:0:No rights to access Stored Links"; |
|
return HTTP_NOT_ACCEPTABLE; |
|
} |
|
|
if (&Apache::lonwishlist::getWishlist() ne 'error') { |
if (&Apache::lonwishlist::getWishlist() ne 'error') { |
# get wishlist entries from user-data db-file and build a tree out of these entries |
# get wishlist entries from user-data db-file and build a tree out of these entries |
Line 63 sub handler {
|
Line 76 sub handler {
|
$root = &Apache::lonwishlist::newEntry($root, $env{'form.title'}, $env{'form.path'}, $env{'form.note'}); |
$root = &Apache::lonwishlist::newEntry($root, $env{'form.title'}, $env{'form.path'}, $env{'form.note'}); |
} |
} |
|
|
# get unprocessed_cgi (i.e. marked entries, mode ...) |
# get unprocessed_cgi (i.e. marked entries, mode ...) |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['action','mark','markedToMove','mode','newtitle','note','rat','setTitle','setPath']); |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['action','mark','markedToMove','mode','newtitle','note','rat','setTitle','setPath']); |
|
|
# change the order of entries within a level, that means sorting the entries |
# change the order of entries within a level, that means sorting the entries |
my $changeOrder = 0; |
my $changeOrder = 0; |
if (defined $env{'form.sel'}) { |
if (defined($env{'form.sel'})) { |
my @sel = &Apache::loncommon::get_env_multiple('form.sel'); |
my @sel = &Apache::loncommon::get_env_multiple('form.sel'); |
my $indexNode; |
my $indexNode; |
my $at; |
my $at; |
Line 80 sub handler {
|
Line 93 sub handler {
|
} |
} |
if ($at ne '') { |
if ($at ne '') { |
$changeOrder = 1; |
$changeOrder = 1; |
$root = &Apache::lonwishlist::sortEntries($root, $indexNode,$at); |
$root = &Apache::lonwishlist::sortEntries($root, $indexNode,$at); |
} |
} |
} |
} |
|
|
# get all marked (checkboxes) entries |
# get all marked (checkboxes) entries |
my @marked = (); |
my @marked = (); |
if (defined $env{'form.mark'}) { |
if (defined($env{'form.mark'})) { |
@marked = &Apache::loncommon::get_env_multiple('form.mark'); |
@marked = &Apache::loncommon::get_env_multiple('form.mark'); |
} |
} |
|
|
# move entries from one folder to another |
# move entries from one folder to another |
if (defined $env{'form.markedToMove'}) { |
if (defined($env{'form.markedToMove'})) { |
my $markedToMove = $env{'form.markedToMove'}; |
my $markedToMove = $env{'form.markedToMove'}; |
my @ToMove = split(/\,/,$markedToMove); |
my @ToMove = split(/\,/,$markedToMove); |
my $moveTo = $env{'form.mark'}; |
my $moveTo = $env{'form.mark'}; |
if (defined $moveTo){ |
if (defined($moveTo)) { |
$root = &Apache::lonwishlist::moveEntries($root, \@ToMove,$moveTo); |
$root = &Apache::lonwishlist::moveEntries($root, \@ToMove,$moveTo); |
} |
} |
$changeOrder = 1; |
$changeOrder = 1; |
|
|
} |
} |
|
|
# delete entries |
# delete entries |
if ($env{'form.action'} eq 'delete') { |
if ($env{'form.action'} eq 'delete') { |
$root = &Apache::lonwishlist::deleteEntries($root, \@marked); |
$root = &Apache::lonwishlist::deleteEntries($root, \@marked); |
} |
} |
|
|
|
|
# get all titles and notes and save them |
# get all titles and notes and save them |
# only save, if user wants to save changes |
# only save, if user wants to save changes |
# do not save, when current action is 'delete' or 'sort' or 'move' |
# do not save, when current action is 'delete' or 'sort' or 'move' |
my @newTitles = (); |
my @newTitles = (); |
my @newPaths = (); |
my @newPaths = (); |
my @newNotes = (); |
my @newNotes = (); |
Line 143 sub handler {
|
Line 154 sub handler {
|
my $page; |
my $page; |
if ($env{'form.mode'} eq 'edit') { |
if ($env{'form.mode'} eq 'edit') { |
$page = &Apache::lonwishlist::makePage($root, "edit"); |
$page = &Apache::lonwishlist::makePage($root, "edit"); |
} |
} elsif ($env{'form.mode'} eq 'move') { |
elsif ($env{'form.mode'} eq 'move') { |
|
$page = &Apache::lonwishlist::makePage($root, "move", \@marked); |
$page = &Apache::lonwishlist::makePage($root, "move", \@marked); |
} |
} elsif ($env{'form.mode'} eq 'import') { |
elsif ($env{'form.mode'} eq 'import') { |
|
$page = &Apache::lonwishlist::makePageImport($root, $env{'form.rat'}); |
$page = &Apache::lonwishlist::makePageImport($root, $env{'form.rat'}); |
} |
} elsif ($env{'form.mode'} eq 'newLink') { |
elsif ($env{'form.mode'} eq 'newLink') { |
|
$page = &Apache::lonwishlist::makePopUpNewLink($env{'form.setTitle'},$env{'form.setPath'}); |
$page = &Apache::lonwishlist::makePopUpNewLink($env{'form.setTitle'},$env{'form.setPath'}); |
} |
} elsif ($env{'form.mode'} eq 'newFolder') { |
elsif ($env{'form.mode'} eq 'newFolder') { |
|
$page = &Apache::lonwishlist::makePopUpNewFolder(); |
$page = &Apache::lonwishlist::makePopUpNewFolder(); |
} |
} elsif ($env{'form.mode'} eq 'set') { |
elsif ($env{'form.mode'} eq 'set') { |
|
$page = &Apache::lonwishlist::makePageSet(); |
$page = &Apache::lonwishlist::makePageSet(); |
} |
} else { |
else { |
|
$page = &Apache::lonwishlist::makePage($root, "view"); |
$page = &Apache::lonwishlist::makePage($root, "view"); |
} |
} |
@marked = (); |
@marked = (); |
$r->print($page); |
$r->print($page); |
} |
} else { |
# An error occured, print an error-page |
# An error occurred, print an error-page |
else { |
|
my $errorPage = &Apache::lonwishlist::makeErrorPage(); |
my $errorPage = &Apache::lonwishlist::makeErrorPage(); |
$r->print($errorPage); |
$r->print($errorPage); |
} |
} |