$form_start
- $lt{'hd'}
+ $lt{'hd'}
$form_end
$form_start
- $lt{'ec'}
+ $lt{'ec'}
$form_end
$form_start $rand_order_text $form_end
@@ -2045,7 +2063,7 @@ sub tiehash {
$hashtied=1;
}
}
- }
+ }
}
sub untiehash {
@@ -2094,7 +2112,7 @@ sub checkonthis {
if (($errorcount) ||
($warningcount)) {
if ($errorcount) {
- $r->print(''.
+ $r->print(''.
&mt('[quant,_1,error]',$errorcount).' ');
}
if ($warningcount) {
@@ -2119,7 +2137,7 @@ sub checkonthis {
unless ($url=~/\$/) {
$r->print(''.&mt('not found').' ');
} else {
- $r->print(''.&mt('unable to verify variable URL').' ');
+ $r->print(''.&mt('unable to verify variable URL').' ');
}
} else {
$r->print(''.&mt('access denied').' ');
@@ -2253,7 +2271,7 @@ sub checkversions {
if ($haschanged) {
if (&Apache::lonnet::put('resourceversions',\%newsetversions,
$env{'course.'.$env{'request.course.id'}.'.domain'},
- $env{'course.'.$env{'request.course.id'}.'.num'}) eq 'ok') {
+ $env{'course.'.$env{'request.course.id'}.'.num'}) eq 'ok') {
$r->print(''.&mt('Your Version Settings have been Saved').' ');
} else {
$r->print(''.&mt('An Error Occured while Attempting to Save your Version Settings').' ');
@@ -2394,7 +2412,7 @@ ENDHEADERS
$lastold=$prevvers;
}
}
- #
+ #
# Code to figure out how many version entries should go in
# each of the four columns
my $entries_per_col = 0;
@@ -2405,7 +2423,7 @@ ENDHEADERS
$entries_per_col = $num_entries/4 + 1;
}
my $entries_count = 0;
- $r->print(' ');
+ $r->print(' ');
my $cols_output = 1;
for (my $prevvers=$lastold;$prevvers<$currentversion;$prevvers++) {
my $url=$root.'.'.$prevvers.'.'.$extension;
@@ -2484,14 +2502,18 @@ sub changewarning {
$message='Changes will become active for your current session after [_1], or the next time you log in.';
}
$r->print("\n\n".
-''."\n".
-''."\n\n");
+ &mt('re-initializing '.$course_type).'" onclick="reinit(this.form)" />').
+$help{'Caching'}.''."\n\n");
}
@@ -2538,9 +2560,9 @@ sub handler {
'Option_Response_Simple');
$help{'Bulletin Board'} = &Apache::loncommon::help_open_topic(
'Docs_About_Bulletin_Board,Docs_Editing_Templated_Pages');
- $help{'My Personal Info'} = &Apache::loncommon::help_open_topic(
+ $help{'My Personal Information Page'} = &Apache::loncommon::help_open_topic(
'Docs_About_My_Personal_Info,Docs_Editing_Templated_Pages');
- $help{'Group Files'} = &Apache::loncommon::help_open_topic('Docs_About_Group_Files');
+ $help{'Group Portfolio'} = &Apache::loncommon::help_open_topic('Docs_About_Group_Files');
$help{'Caching'} = &Apache::loncommon::help_open_topic('Caching');
# does this user have privileges to modify docs
@@ -2616,15 +2638,15 @@ sub handler {
$showdoc='/'.$1;
}
unless ($showdoc) { # got called from remote
- if (($env{'form.folder'}=~/^(?:group|default)_/) ||
+ if (($env{'form.folder'}=~/^(?:group|default)_/) ||
($env{'form.folder'} =~ m:^\d+/(pages|sequences)/:)) {
$forcestandard = 1;
- }
+ }
$forcesupplement=($env{'form.folder'}=~/^supplemental_/);
- if ($allowed) {
+ if ($allowed) {
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['cmd']);
- $script=&Apache::lonratedt::editscript('simple');
+ $script=&Apache::lonratedt::editscript('simple');
}
} else { # got called in sequence from course
$allowed=0;
@@ -2634,7 +2656,7 @@ sub handler {
my $coursenum=$env{'course.'.$env{'request.course.id'}.'.num'};
my $coursedom=$env{'course.'.$env{'request.course.id'}.'.domain'};
-# get personal data
+# get personal data
my $uname=$env{'user.name'};
my $udom=$env{'user.domain'};
my $plainname=&escape(&Apache::loncommon::plainname($uname,$udom));
@@ -2647,20 +2669,24 @@ sub handler {
$script .= &editing_js($udom,$uname);
}
# -------------------------------------------------------------------- Body tag
- $script = '';
+ $script = ''."\n";
my $brcrum = [{href=>"/adm/createuser",text=>"$type Documents"}];
$r->print(&Apache::loncommon::start_page("$type Documents", $script,
{'force_register' => $showdoc,
'bread_crumbs' => $brcrum}).
&Apache::loncommon::help_open_menu('','',273,'RAT'));
-
+
my %allfiles = ();
my %codebase = ();
my ($upload_result,$upload_output);
if ($allowed) {
if (($env{'form.uploaddoc.filename'}) &&
($env{'form.cmd'}=~/^upload_(\w+)/)) {
-# Process file upload - phase one - upload and parse primary file.
+# Process file upload - phase one - upload and parse primary file.
undef($hadchanges);
$upload_result = &process_file_upload(\$upload_output,$coursenum,
$coursedom,\%allfiles,
@@ -2685,8 +2711,8 @@ sub handler {
$newname{$i} = &process_secondary_uploads(\$upload_output,$coursedom,$coursenum,'embedded_item_',$i,$residx);
$origname{$i} = &unescape($env{'form.embedded_orig_'.$i});
if (exists($env{'form.embedded_codebase_'.$i})) {
- $javacodebase = &unescape($env{'form.embedded_codebase_'.$i});
- $origname{$i} =~ s#^\Q$javacodebase\E/##;
+ $javacodebase = &unescape($env{'form.embedded_codebase_'.$i});
+ $origname{$i} =~ s#^\Q$javacodebase\E/##;
}
my @attributes = ();
if ($env{'form.embedded_attrib_'.$i} =~ /:/) {
@@ -2722,8 +2748,8 @@ sub handler {
$attrib_regexp = $attribs{$item}[0];
}
if ($content =~ m#($attrib_regexp\s*=\s*['"]?)\Q$origname{$item}\E(['"]?)#) {
- }
- $content =~ s#($attrib_regexp\s*=\s*['"]?)\Q$origname{$item}\E(['"]?)#$1$newname{$item}$2#gi;
+ }
+ $content =~ s#($attrib_regexp\s*=\s*['"]?)\Q$origname{$item}\E(['"]?)#$1$newname{$item}$2#gi;
}
if (exists($codebase{$item})) {
$content =~ s/(codebase\s*=\s*["']?)\Q$codebase{$item}\E(["']?)/$1.$2/i; #' stupid emacs
@@ -2735,7 +2761,7 @@ sub handler {
my $docudom=$env{'course.'.$env{'request.course.id'}.'.domain'};
my $url = &Apache::lonnet::store_edited_file($primary_url,$content,$docudom,$docuname,\$saveresult);
} else {
- &Apache::lonnet::logthis('retrieval of uploaded file - '.$primary_url.' - for editing, failed: '.$getstatus);
+ &Apache::lonnet::logthis('retrieval of uploaded file - '.$primary_url.' - for editing, failed: '.$getstatus);
}
}
}
@@ -2761,21 +2787,21 @@ sub handler {
'extr' => 'External Resource',
'syll' => 'Syllabus',
'navc' => 'Navigate Contents',
- 'sipa' => 'Simple Page',
+ 'sipa' => 'Simple Course Page',
'sipr' => 'Simple Problem',
'drbx' => 'Drop Box',
'scuf' => 'Score Upload Form',
'bull' => 'Discussion Board',
- 'mypi' => 'My Personal Info',
- 'grpo' => 'Group Files',
+ 'mypi' => 'My Personal Information Page',
+ 'grpo' => 'Group Portfolio',
'rost' => 'Course Roster',
- 'abou' => 'About User',
+ 'abou' => 'Personal Information Page for a User',
'imsf' => 'Import IMS package',
'file' => 'File',
'title' => 'Title',
'comment' => 'Comment',
'parse' => 'Upload embedded images/multimedia files if HTML file!',
- 'nd' => 'New Document',
+ 'nd' => 'Upload Document',
'pm' => 'Published Map',
'sd' => 'Special Document',
'mo' => 'More Options',
@@ -2798,6 +2824,7 @@ CHBO
my $fileuploadform=(<
+
$fileupload
$lt{'title'}:
@@ -2819,22 +2846,23 @@ FUFORM
my $simpleeditdefaultform=(<
+
$lt{'pubd'}
$uploadtag
-
+
-
+
$help{'Importing_LON-CAPA_Resource'}
-
+
$lt{'copm'}
-
$help{'Load_Map'}
@@ -2846,7 +2874,7 @@ SEDFFORM
$uploadtag
- $help{'Adding_External_Resource'}
@@ -2889,56 +2917,49 @@ HIDDENFORM
}
# --------------------------------------------------------- Main tab structure
my $activeClass = 1;
+ my $active = '';
$r->print('');
- if (($standard) && ($allowed) && (!$forcesupplement)) {
- my $active = '';
+ if (($standard) && ($allowed) && (!$forcesupplement) && (($env{'form.folderpath'}=~/^default/) || ($env{'form.pagepath'}))) {
if($activeClass == 1){
$active = 'class="active"';
$activeClass = 0;
}
- $r->print(''.&mt('Main Course Documents').' ');
}
- if (!$forcestandard) {
- my $active = '';
+ $r->print(''.&mt('Main Course Documents').' ');
+ $active = '';
+ if (!$forcestandard || ($env{'form.folderpath'}=~/^supplemental/)) {
if($activeClass == 1){
$active = 'class="active"';
}
- $r->print(''.&mt('Supplemental Course Documents').' ');
}
- $r->print(''.&mt('Special Admin Options').' ');
- $r->print(' ');
+ $r->print('
'.&mt('Supplemental Course Documents').' ');
+ $r->print('
');
# --------------------------------------------------------- Standard documents
- if (($standard) && ($allowed) && (!$forcesupplement)) {
+ my $savefolderpath;
my $active = 'style="display: none;"';
if($activeClass == 0){
$active = 'style="display: block;"';
}
- $r->print('
');
- $r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc',
- &mt('Editing the Table of Contents for your '.$type)));
+ $r->print('
');
my $folder=$env{'form.folder'};
- if ($folder eq '' || $folder eq 'supplemental') {
+ if ($folder eq '' || $folder=~/^supplemental/) {
$folder='default';
+ $savefolderpath = $env{'form.folderpath'};
$env{'form.folderpath'}='default&'.&escape(&mt('Main '.$type.' Documents'));
$uploadtag = '
';
}
my $postexec='';
if ($folder eq 'default') {
- $r->print('');
+ $r->print(''."\n"
+ );
} else {
#$postexec='self.close();';
}
-# $hadchanges=0;
-# my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type);
-# if ($error) {
-# $r->print('
'.$error.'
');
-# }
-# if ($hadchanges) {
-# &mark_hash_old();
-# }
-#
-# &changewarning($r,$postexec);
my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.
'.sequence';
my $pageseq = '/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.
@@ -2953,19 +2974,20 @@ HIDDENFORM
my $recoverform=(<
-
+
RFORM
my $imspform=(<
-
+
IMSPFORM
my $newnavform=(<
+
$uploadtag
@@ -2977,22 +2999,24 @@ IMSPFORM
NNFORM
my $newsmppageform=(<
+
$uploadtag
$help{'Simple Page'}
+ onclick="javascript:makesmppage();" /> $help{'Simple Page'}
NSPFORM
my $newsmpproblemform=(<
+
$uploadtag
$help{'Simple Problem'}
+ onclick="javascript:makesmpproblem();" />$help{'Simple Problem'}
@@ -3000,22 +3024,24 @@ NSPROBFORM
my $newdropboxform=(<
- $uploadtag
+
+ $uploadtag
-
+
-
-
+ onclick="javascript:makedropbox();" />
+
+
NDBFORM
my $newexuploadform=(<
+
$uploadtag
+ onclick="javascript:makeexamupload();" />
$help{'Score_Upload_Form'}
@@ -3023,11 +3049,12 @@ NEXUFORM
my $newbulform=(<
+
$uploadtag
+ onclick="javascript:makebulboard();" />
$help{'Bulletin Board'}
@@ -3035,23 +3062,25 @@ NBFORM
my $newaboutmeform=(<
+
$uploadtag
- $help{'My Personal Info'}
+ $help{'My Personal Information Page'}
NAMFORM
my $newaboutsomeoneform=(<
+
$uploadtag
+ onclick="javascript:makeabout();" />
NASOFORM
@@ -3059,6 +3088,7 @@ NASOFORM
my $newrosterform=(<
+
$uploadtag
@@ -3069,6 +3099,9 @@ NASOFORM
NROSTFORM
+my $specialdocumentsform;
+my $newfolderform;
+
unless ($env{'form.pagepath'}) {
my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');
@@ -3076,21 +3109,23 @@ NROSTFORM
NPFORM
- my $newfolderform=(<
+
$help{'Adding_Folders'}
@@ -3098,6 +3133,7 @@ NFFORM
my $newsylform=(<
+
$uploadtag
@@ -3107,55 +3143,41 @@ NFFORM
NSYLFORM
-
+
my $newgroupfileform=(<
+
$uploadtag
- $help{'Group Files'}
+ $help{'Group Portfolio'}
NGFFORM
-
- my $specialdocumentsform=(< $newfolderform
- $newpageform
- $newsylform
- $newnavform
- $newsmppageform
- $newsmpproblemform
- $newdropboxform
- $newexuploadform
- $newbulform
- $newaboutmeform
- $newaboutsomeoneform
- $newgroupfileform
- $newrosterform
-SPDOFORM
-
+ $specialdocumentsform=" $newpageform $newsylform $newgroupfileform";
+ }
+ $specialdocumentsform.=" $newnavform $newsmppageform
+ $newsmpproblemform $newdropboxform
+ $newexuploadform $newbulform
+ $newaboutmeform $newaboutsomeoneform
+ $newrosterform";
+if($env{'form.pagepath'}) {
+ $specialdocumentsform=" $newsmpproblemform $newexuploadform";
+}
my %orderhash = (
- 'aa' => 'New Document',
- 'bb' => 'Published Documents',
- 'cc' => 'Special Documents',
- 'dd' => 'More Options',
- 'zz' => 'Hide all Options',
- );
-my %namehash = (
- 'New Document' => $fileuploadform,
- 'Published Documents' => $simpleeditdefaultform,
- 'Special Documents' => $specialdocumentsform,
- 'More Options' => $extresourcesform.' '.$imspform.' '.$recoverform,
+ 'aa' => ['Upload Document',$fileuploadform.' '.$newfolderform],
+ 'bb' => ['Published Documents',$simpleeditdefaultform],
+ 'cc' => ['Special Documents',$specialdocumentsform],
+ 'dd' => ['Tools',$extresourcesform.' '.$imspform.' '.$recoverform.' '.&generate_admin_options($containertag,$uploadtag,\%help,\%env)],
+ 'zz' => ['Hide all Options'],
);
my $tid='1';
-my $content='content';
-my $navigation='navigation';
my $varcd = 'Main Course Documents';
-$r->print(&generate_edit_table($tid,$content,$navigation,$varcd,\%namehash,\%orderhash));
+$r->print(&generate_edit_table($tid,$varcd,\%orderhash));
$hadchanges=0;
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type);
if ($error) {
@@ -3166,18 +3188,17 @@ $r->print(&generate_edit_table($tid,$con
}
&changewarning($r,'');
+ $r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc',
+ &mt('Editing the Table of Contents for your '.$type)));
$r->print(' ');
- }
if ($env{'form.pagepath'}) {
}
- }
# ----------------------------------------------------- Supplemental documents
- if (!$forcestandard) {
my $active = 'style="display: none;"';
if($activeClass == 1){
$active = 'style="display: block;"';
}
- $r->print('
');
+ $r->print('
');
my $folder=$env{'form.folder'};
unless ($folder=~/^supplemental/) {
$folder='supplemental';
@@ -3186,7 +3207,10 @@ $r->print('
');
(($env{'form.folderpath'} =~ /^default\&/) || ($env{'form.folderpath'} eq ''))) {
$env{'form.folderpath'} = 'supplemental&'.
&escape(&mt('Supplemental '.$type.' Documents'));
+ }else{
+ $env{'form.folderpath'} = $savefolderpath;
}
+ $env{'form.pagepath'} = '';
if ($allowed) {
my $folderseq=
'/uploaded/'.$coursedom.'/'.$coursenum.'/supplemental_'.time.
@@ -3196,6 +3220,7 @@ $r->print('
');
my $supupdocform=(<
+
$fileupload
@@ -3204,7 +3229,7 @@ $r->print(' ');
$lt{'comment'}:
-
');
- }
- }
-$r->print('
');
-$r->print(&generate_admin_options($containertag,$uploadtag,\%help,\%env));
-$r->print('
');
+ }
$r->print('
');
if ($allowed) {
$r->print('
@@ -3316,7 +3334,7 @@ $r->print('
');
}
$r->print(&Apache::loncommon::end_page());
return OK;
-}
+}
sub generate_admin_options {
my ($containertag,$uploadtag,$help_ref,$env_ref) = @_;
@@ -3332,58 +3350,63 @@ sub generate_admin_options {
my $exportbut=&exportbutton();
return (<
-
-
ENDOPTIONFORM
}
sub generate_edit_table {
- my ($tid,$content,$navigation,$varcd,$namehash_ref,$orderhash_ref) = @_;
- my %namehash = %{$namehash_ref}; #name verlinkt mit id
- my %orderhash = %{$orderhash_ref}; #name mit kürzel verlinkt mit name
+ my ($tid,$varcd,$orderhash_ref) = @_;
+ my %orderhash = %{$orderhash_ref};
my $form;
-
-
-
- $form = ''.&mt($varcd).' ';
- $form .= '
';
+ my $activetab;
+ my $active;
+ if($env{'form.active'} ne ''){
+ $activetab = $env{'form.active'};
+ }
+ $form = ''.&mt($varcd).' ';
+ $form .= '
';
foreach my $name (sort(keys(%orderhash))){
if($name eq 'zz'){
- $form .= ''.&mt($orderhash{$name}).' ';
+ if($activetab ne ''){
+ $active = 'class="right"';
+ }else{
+ $active = 'class="right active"';
+ }
+ $form .= ''.&mt(${$orderhash{$name}}[0]).' ';
}else{
- $form .= ''.&mt($orderhash{$name}).' ';
+ if($activetab eq '' || $activetab ne $name){
+ $active = '';
+ }elsif($activetab eq $name){
+ $active = 'class="active"';
+ }
+ $form .= ''.&mt(${$orderhash{$name}}[0]).' ';
}
}
$form .= ' ';
- $form .= '
';
- foreach my $field (keys(%namehash)){
- $form .= '
'.$namehash{$field}.'
';
- }
+ $form .= '
';
+ foreach my $field (keys(%orderhash)){
+ if($field ne 'zz'){
+ if($activetab eq '' || $activetab ne $field){
+ $active = 'style="display: none;"';
+ }elsif($activetab eq $field){
+ $active = 'style="display:block;"';
+ }
+ $form .= '
'.${$orderhash{$field}}[1]
+ .'
';
+ }
+ }
$form .= '
';
-
+
return $form;
}
@@ -3396,12 +3419,12 @@ sub editing_js {
p_mnp => 'Name of New Page',
t_mnp => 'New Page',
p_mxu => 'Title for the Uploaded Score',
- p_msp => 'Title for the Page',
+ p_msp => 'Name of Simple Course Page',
p_msb => 'Title for the Problem',
p_mdb => 'Title for the Drop Box',
p_mbb => 'Title for the Discussion Board',
- p_mab => "Enter user:domain for User's 'About Me' Page",
- p_mab2 => "About [_99]",
+ p_mab => "Enter user:domain for User's Personal Information Page",
+ p_mab2 => 'Personal Information Page of ',
p_mab_alrt1 => 'Not a valid user:domain',
p_mab_alrt2 => 'Please enter both user and domain in the format user:domain',
p_chn => 'New Title',
@@ -3449,7 +3472,7 @@ function edittext(targetname,residx,titl
function makeexamupload() {
var title=prompt('$lt{"p_mxu"}');
- if (title) {
+ if (title) {
this.document.forms.newexamupload.importdetail.value=
escape(title)+'=/res/lib/templates/examupload.problem';
this.document.forms.newexamupload.submit();
@@ -3458,7 +3481,7 @@ function makeexamupload() {
function makesmppage() {
var title=prompt('$lt{"p_msp"}');
- if (title) {
+ if (title) {
this.document.forms.newsmppg.importdetail.value=
escape(title)+'=/adm/$udom/$uname/$now/smppg';
this.document.forms.newsmppg.submit();
@@ -3467,7 +3490,7 @@ function makesmppage() {
function makesmpproblem() {
var title=prompt('$lt{"p_msb"}');
- if (title) {
+ if (title) {
this.document.forms.newsmpproblem.importdetail.value=
escape(title)+'=/res/lib/templates/simpleproblem.problem';
this.document.forms.newsmpproblem.submit();
@@ -3476,7 +3499,7 @@ function makesmpproblem() {
function makedropbox() {
var title=prompt('$lt{"p_mdb"}');
- if (title) {
+ if (title) {
this.document.forms.newdropbox.importdetail.value=
escape(title)+'=/res/lib/templates/DropBox.problem';
this.document.forms.newdropbox.submit();
@@ -3592,13 +3615,21 @@ function unselectInactive(nav) {
currentNav = document.getElementById(nav);
currentLis = currentNav.getElementsByTagName('LI');
for (i = 0; i < currentLis.length; i++) {
- currentLis[i].className = 'i';
+ if(currentLis[i].className == 'right active' || currentLis[i].className == 'right'){
+ currentLis[i].className = 'right';
+ }else{
+ currentLis[i].className = 'i';
+ }
}
}
function hideAll(current, nav, data) {
unselectInactive(nav);
-current.className = 'active';
+if(current.className == 'right'){
+ current.className = 'right active'
+ }else{
+ current.className = 'active';
+}
currentData = document.getElementById(data);
currentDivs = currentData.getElementsByTagName('DIV');
for (i = 0; i < currentDivs.length; i++) {
@@ -3608,7 +3639,21 @@ for (i = 0; i < currentDivs.length; i++)
}
}
+function openTabs(pageId) {
+ tabnav = document.getElementById(pageId).getElementsByTagName('UL');
+ if(tabnav.length > 0 ){
+ currentNav = document.getElementById(tabnav[0].id);
+ currentLis = currentNav.getElementsByTagName('LI');
+ for(i = 0; i< currentLis.length; i++){
+ if(currentLis[i].className == 'active') {
+ currentLis[i].onclick;
+ }
+ }
+ }
+}
+
function showPage(current, pageId, nav, data) {
+ /*openTabs(pageId);*/
hideAll(current, nav, data);
unselectInactive(nav);
current.className = 'active';
@@ -3642,7 +3687,7 @@ Available help topics
=item mapread()
-Mapread read maps into LONCAPA::map:: global arrays
+Mapread read maps into LONCAPA::map:: global arrays
@order and @resources, determines status
sets @order - pointer to resources in right order
sets @resources - array with the resources with correct idx