version 1.93.2.3, 2010/11/13 14:43:08
|
version 1.98, 2010/06/25 04:37:49
|
Line 143 sub handler {
|
Line 143 sub handler {
|
my ($numtitles,$showroles,$nohost); |
my ($numtitles,$showroles,$nohost); |
if (!$onlyown) { |
if (!$onlyown) { |
my $filterlist = ['domainfilter']; |
my $filterlist = ['domainfilter']; |
|
# created filter for DCs only |
if ($env{'user.adv'} && $env{'form.domainfilter'} && |
if ($env{'user.adv'} && $env{'form.domainfilter'} && |
exists($env{'user.role.dc./'.$env{'form.domainfilter'}.'/'}) |
exists($env{'user.role.dc./'.$env{'form.domainfilter'}.'/'}) |
&& $env{'form.form'} ne 'portform') { |
&& $env{'form.form'} ne 'portform') { |
Line 152 sub handler {
|
Line 153 sub handler {
|
} |
} |
} |
} |
push(@{$filterlist},('descriptfilter','instcodefilter')); |
push(@{$filterlist},('descriptfilter','instcodefilter')); |
|
|
if ($env{'form.form'} eq 'rules') { |
if ($env{'form.form'} eq 'rules') { |
push(@{$filterlist},'personfilter'); |
push(@{$filterlist},'personfilter'); |
if (($env{'form.personfilter'} ne '') && ($env{'form.persondomfilter'} ne '')) { |
if (($env{'form.personfilter'} ne '') && ($env{'form.persondomfilter'} ne '')) { |
Line 418 sub display_matched_courses {
|
Line 418 sub display_matched_courses {
|
$canclone = 1; |
$canclone = 1; |
} |
} |
} |
} |
unless ($canclone) { |
unless ($canclone) { |
if ($cc_cloneable{$cnum.':'.$cdom}) { |
if ($cc_cloneable{$cnum.':'.$cdom}) { |
$canclone = 1; |
$canclone = 1; |
} |
} |
Line 551 sub build_filters {
|
Line 551 sub build_filters {
|
} else { |
} else { |
$formname = $caller; |
$formname = $caller; |
} |
} |
my $onchange; |
my $onchange = 'javascript:updateFilters(this)'; |
unless ($env{'form.interface'} eq 'textual') { |
|
$onchange = 'javascript:updateFilters(this)'; |
|
} |
|
my ($domainselectform,$sincefilterform,$createdfilterform, |
my ($domainselectform,$sincefilterform,$createdfilterform, |
$ownerdomselectform,$persondomselectform,$instcodeform, |
$ownerdomselectform,$persondomselectform,$instcodeform, |
$typeselectform,$instcodetitle); |
$typeselectform,$instcodetitle); |
Line 619 sub build_filters {
|
Line 616 sub build_filters {
|
} |
} |
} |
} |
|
|
|
|
# last course activity filter and selection |
# last course activity filter and selection |
$sincefilterform = &timebased_select_form('sincefilter',$filter); |
$sincefilterform = &timebased_select_form('sincefilter',$filter); |
|
|
Line 630 sub build_filters {
|
Line 626 sub build_filters {
|
|
|
my %lt = &Apache::lonlocal::texthash( |
my %lt = &Apache::lonlocal::texthash( |
'cac' => "$type Activity", |
'cac' => "$type Activity", |
'ccr' => "$type Created", |
'ccr' => "$type Created", |
'cde' => "$type Title", |
'cde' => "$type Title", |
'cdo' => "$type Domain", |
'cdo' => "$type Domain", |
'ins' => 'Institutional Code', |
'ins' => 'Institutional Code', |
Line 816 sub timebased_select_form {
|
Line 812 sub timebased_select_form {
|
$filter->{$item} = $env{'form.'.$item}; |
$filter->{$item} = $env{'form.'.$item}; |
$filter->{$item} =~ s/[^\d-]//g; |
$filter->{$item} =~ s/[^\d-]//g; |
if (!$filter->{$item}) { $filter->{$item}=-1; } |
if (!$filter->{$item}) { $filter->{$item}=-1; } |
return &Apache::loncommon::select_form( |
return &Apache::loncommon::select_form( |
$filter->{$item}, |
$filter->{$item}, |
$item, |
$item, |
( '-1' => '', |
{ '-1' => '', |
'86400' => &mt('today'), |
'86400' => &mt('today'), |
'604800' => &mt('last week'), |
'604800' => &mt('last week'), |
'2592000' => &mt('last month'), |
'2592000' => &mt('last month'), |
Line 828 sub timebased_select_form {
|
Line 824 sub timebased_select_form {
|
'31104000' => &mt('last year'), |
'31104000' => &mt('last year'), |
'select_form_order' => |
'select_form_order' => |
['-1','86400','604800','2592000','7776000', |
['-1','86400','604800','2592000','7776000', |
'15552000','31104000'])); |
'15552000','31104000']}); |
} |
} |
} |
} |
|
|
sub get_coordinator_cloneable { |
sub get_coordinator_cloneable { |
my ($cloneruname,$clonerudom,$type) = @_; |
my ($cloneruname,$clonerudom,$type) = @_; |
if (($cloneruname!~/\w/) || ($clonerudom!~/\w/)) { |
if (&Apache::lonnet::homeserver($cloneruname,$clonerudom) eq 'no_host') { |
my $warning = '<div class="LC_warning">'.&mt('Intended course owner not specified'). |
|
'</div>'; |
|
return ('',$warning); |
|
} elsif (&Apache::lonnet::homeserver($cloneruname,$clonerudom) eq 'no_host') { |
|
my $warning = '<div class="LC_error">'.&mt('Intended course owner does not exist'). |
my $warning = '<div class="LC_error">'.&mt('Intended course owner does not exist'). |
'</div>'; |
'</div>'; |
return ('',$warning); |
return ('',$warning); |
Line 909 sub search_courses {
|
Line 901 sub search_courses {
|
} |
} |
} |
} |
my $now = time; |
my $now = time; |
my $timefilter = |
my $timefilter = |
($filter->{'sincefilter'}==-1?1:$now-$filter->{'sincefilter'}); |
($filter->{'sincefilter'}==-1?1:$now-$filter->{'sincefilter'}); |
my ($createdbefore,$createdafter); |
my ($createdbefore,$createdafter); |
if (($filter->{'createdfilter'} ne '') && ($filter->{'createdfilter'} !=-1)) { |
if (($filter->{'createdfilter'} ne '') && ($filter->{'createdfilter'} !=-1)) { |
Line 1232 B<search_courses($r,$type,$onlyown,$filt
|
Line 1224 B<search_courses($r,$type,$onlyown,$filt
|
$domcloner)>: |
$domcloner)>: |
|
|
|
|
Input: 8 - request object, course type, search scope: only courses in which user has active role (1), or any course (0); anonymous hash of criteria and their values; for institutional codes - number of categories; optional username of new course owner, optional domain of new course owner). Seventh and eighth needed when search is for courses to clone from course request form, or course creation form (DC). Optional "domcloner" flag (has value=1 if user has ccc priv in domain being filtered by (used when DC is using course creation form). |
Input: 8 - request object, course type, search scope: only courses in which user has active role (1), or any course (0); anonymous hash of criteria and their values; for institutional codes - number of categories; optional username of new course owner, optional domain of new course owner). Last two needed when search is for courses to clone from course request form, or course creation form (DC). Optional "domcloner" flag (has value=1 if user has ccc priv in |
|
domain being filtered by (used when DC is using course creation form). |
|
|
Output: 1 - %courses - hash of courses satisfying search criteria, keys = course IDs, values are corresponding colon-separated escaped description, institutional code, owner and type. |
Output: 1 - %courses - hash of courses satisfying search criteria, keys = course IDs, values are corresponding colon-separated escaped description, institutional code, owner and type. |
|
|