Diff for /loncom/interface/lonwishlist.pm between versions 1.10 and 1.13

version 1.10, 2011/02/15 14:54:51 version 1.13, 2012/05/16 11:26:03
Line 511  sub getNodesToArray { Line 511  sub getNodesToArray {
 # Return a script-tag containing Javascript-function  # Return a script-tag containing Javascript-function
 # needed for wishlist actions like 'new link' ect.  # needed for wishlist actions like 'new link' ect.
 sub JSforWishlist {  sub JSforWishlist {
     my $startPagePopup = &Apache::loncommon::start_page('Wishlist',undef,      my $startPagePopup = &Apache::loncommon::start_page('Stored Links',undef,
                                                             {'only_body' => 1,                                                              {'only_body' => 1,
                                                              'js_ready'  => 1,                                                               'js_ready'  => 1,
                                                              'bgcolor'   => '#FFFFFF',});                                                               'bgcolor'   => '#FFFFFF',});
Line 1103  sub wishlistView { Line 1103  sub wishlistView {
     
         # checkboxes          # checkboxes
         $wishlistHTMLview .= '<td><input type="checkbox" name="mark" id="check'.$index.'" value="'.$index.'" '.          $wishlistHTMLview .= '<td><input type="checkbox" name="mark" id="check'.$index.'" value="'.$index.'" '.
                              'onclick="selectAction('."'row".$index."'".')"/></td>';                               'onclick="selectAction('."'row".$index."'".')" /></td>';
   
         # entry is a folder          # entry is a folder
         if ($n->value()->path() eq '') {          if ($n->value()->path() eq '') {
Line 1171  sub wishlistEdit { Line 1171  sub wishlistEdit {
   
         # checkboxes          # checkboxes
         $wishlistHTMLedit .= '<td><input type="checkbox" name="mark" id="check'.$index.'" value="'.$index.'" '.          $wishlistHTMLedit .= '<td><input type="checkbox" name="mark" id="check'.$index.'" value="'.$index.'" '.
                              'onclick="selectAction('."'row".$index."'".')"/></td>';                               'onclick="selectAction('."'row".$index."'".')" /></td>';
   
         # option-tags for sorting entries. we need the numbers from 1 to n with n being the number of entries on the same level as the current entry.          # option-tags for sorting entries. we need the numbers from 1 to n with n being the number of entries on the same level as the current entry.
         # set the number for the current entry into brackets           # set the number for the current entry into brackets 
Line 1194  sub wishlistEdit { Line 1194  sub wishlistEdit {
                                  '<a href="javascript:;" onclick="folderAction('."'row".$index."'".')" style="vertical-align:top" >'.                                   '<a href="javascript:;" onclick="folderAction('."'row".$index."'".')" style="vertical-align:top" >'.
                                  '<img src="/adm/lonIcons/arrow.closed.gif" id="img'.$index.'" alt = ""  class="LC_icon"/>'.                                   '<img src="/adm/lonIcons/arrow.closed.gif" id="img'.$index.'" alt = ""  class="LC_icon"/>'.
                                  '<img src="/adm/lonIcons/navmap.folder.closed.gif" id="imgFolder'.$index.'" alt="folder"/></a>'.                                   '<img src="/adm/lonIcons/navmap.folder.closed.gif" id="imgFolder'.$index.'" alt="folder"/></a>'.
                                  '<input type="text" name="newtitle" value="'.$n->value()->title().'" alt = "'.$n->value()->title().'"/>'.                                   '<input type="text" name="newtitle" value="'.$n->value()->title().'" alt = "'.$n->value()->title().'" />'.
                                  '</td><td></td>';                                   '</td><td></td>';
   
         }          }
Line 1204  sub wishlistEdit { Line 1204  sub wishlistEdit {
                                  $options.'</select></td>'.                                   $options.'</select></td>'.
                                  '<td id="padd'.$index.'" style="padding-left:'.(($indent-$indentConst)<=0?$indentConst:$indent).'px;">'.                                   '<td id="padd'.$index.'" style="padding-left:'.(($indent-$indentConst)<=0?$indentConst:$indent).'px;">'.
                                  '<img src="/res/adm/pages/wishlist-link.png" id="img'.$index.'" alt="link"/>'.                                   '<img src="/res/adm/pages/wishlist-link.png" id="img'.$index.'" alt="link"/>'.
                                  '<input type="text" name="newtitle" value="'.$n->value()->title().'" alt = "'.$n->value()->title().'"/></td>'.                                   '<input type="text" name="newtitle" value="'.$n->value()->title().'" alt = "'.$n->value()->title().'" /></td>'.
                                  '<td><input type="text" name="newpath" value="'.$n->value()->path().'" alt = "'.$n->value()->path().'"/></td>';                                   '<td><input type="text" name="newpath" value="'.$n->value()->path().'" alt = "'.$n->value()->path().'" /></td>';
         }          }
                   
         # note-icon, different icons for an entries with note and those without          # note-icon, different icons for an entries with note and those without
Line 1348  sub wishlistImport { Line 1348  sub wishlistImport {
         # checkboxes          # checkboxes
         $wishlistHTMLimport .= '<td>'.          $wishlistHTMLimport .= '<td>'.
                                '<input type="checkbox" name="check" id="check'.$index.'" value="'.$index.'" '.                                 '<input type="checkbox" name="check" id="check'.$index.'" value="'.$index.'" '.
                                'onclick="selectAction('."'row".$index."'".')"/>'.                                 'onclick="selectAction('."'row".$index."'".')" />'.
                                '<input type="hidden" name="title'.$index.'" value="'.&escape($n->value()->title()).'">'.                                 '<input type="hidden" name="title'.$index.'" value="'.&escape($n->value()->title()).'" />'.
                                '<input type="hidden" name="filelink'.$index.'" value="'.&escape($n->value()->path()).'">'.                                 '<input type="hidden" name="filelink'.$index.'" value="'.&escape($n->value()->path()).'" />'.
                                '<input type="hidden" name="id'.$index.'">'.                                 '<input type="hidden" name="id'.$index.'" />'.
                                '</td>';                                 '</td>';
   
         # entry is a folder          # entry is a folder
Line 1415  sub makePage { Line 1415  sub makePage {
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
     &Apache::lonhtmlcommon::add_breadcrumb(      &Apache::lonhtmlcommon::add_breadcrumb(
               { href => '/adm/wishlist?mode='.$mode,                { href => '/adm/wishlist?mode='.$mode,
                 text => 'Wishlist'});                  text => 'Stored Links'});
     my $startPage = &Apache::loncommon::start_page('Wishlist',undef,      my $startPage = &Apache::loncommon::start_page('Stored Links',undef,
                                                      {'add_entries' => {                                                       {'add_entries' => {
                                                         'onload' => 'javascript:onLoadAction('."'".$mode."'".');',                                                          'onload' => 'javascript:onLoadAction('."'".$mode."'".');',
                                                         'onunload' => 'javascript:window.name = '."'loncapaclient'"}});                                                          'onunload' => 'javascript:window.name = '."'loncapaclient'"}});
   
     my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs(&mt('Wishlist').&Apache::loncommon::help_open_topic('Wishlist'));      my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs(&mt('Stored Links').&Apache::loncommon::help_open_topic('Wishlist'));
   
     # get javascript-code for wishlist-interactions      # get javascript-code for wishlist-interactions
     my $js = &JSforWishlist();      my $js = &JSforWishlist();
Line 1497  sub makePage { Line 1497  sub makePage {
   
     # start form       # start form 
     my $inner .= '<form name="list" action ="/adm/wishlist" method="post">'.      my $inner .= '<form name="list" action ="/adm/wishlist" method="post">'.
                  '<input type="hidden" id="action" name="action" value=""/>';                   '<input type="hidden" id="action" name="action" value="" />';
     
     # only display subbox in view- or edit-mode      # only display subbox in view- or edit-mode
     if ($mode eq 'view' || $mode eq 'edit') {      if ($mode eq 'view' || $mode eq 'edit') {
Line 1513  sub makePage { Line 1513  sub makePage {
             $inner .= &Apache::loncommon::end_data_table();              $inner .= &Apache::loncommon::end_data_table();
         }          }
         else {          else {
             $inner .= '<span class="LC_info">'.&mt("Your wishlist ist currently empty.").'</span>';              $inner .= '<span class="LC_info">'.&mt("Your Stored Links list is currently empty.").'</span>';
         }          }
         $wishlistHTMLedit = '';          $wishlistHTMLedit = '';
     }      }
Line 1523  sub makePage { Line 1523  sub makePage {
             $inner .= '<table class="LC_data_table LC_tableOfContent">'.$wishlistHTMLview.'</table>';              $inner .= '<table class="LC_data_table LC_tableOfContent">'.$wishlistHTMLview.'</table>';
         }          }
         else {          else {
             $inner .= '<span class="LC_info">'.&mt("Your wishlist ist currently empty.").'</span>';              $inner .= '<span class="LC_info">'.&mt("Your Stored Links list is currently empty.").'</span>';
         }          }
         $wishlistHTMLview = '';          $wishlistHTMLview = '';
     }      }
Line 1534  sub makePage { Line 1534  sub makePage {
         }          }
         if ($markStr) {          if ($markStr) {
             $markStr = substr($markStr, 0, length($markStr)-1);              $markStr = substr($markStr, 0, length($markStr)-1);
             $inner .= '<input type="hidden" value="'.$markStr.'" name="markedToMove"/>';              $inner .= '<input type="hidden" value="'.$markStr.'" name="markedToMove" />';
             $inner .= '<p><span class="LC_info">'.&mt('You have selected the red marked entries to be moved to another folder. '.              $inner .= '<p><span class="LC_info">'.&mt('You have selected the red marked entries to be moved to another folder. '.
                                                    'Now choose the new destination folder.').'</span></p>';                                                     'Now choose the new destination folder.').'</span></p>';
             &wishlistMove(\@childrenRt, $marked);              &wishlistMove(\@childrenRt, $marked);
             $inner .= '<table class="LC_data_table LC_tableOfContent">'.$wishlistHTMLmove.'</table><br/><br/>';              $inner .= '<table class="LC_data_table LC_tableOfContent">'.$wishlistHTMLmove.'</table><br/><br/>';
             $inner .= '<input type="button" value="'.&mt('Move').'" onclick="setFormAction('."'move','view'".');"/>'.              $inner .= '<input type="button" value="'.&mt('Move').'" onclick="setFormAction('."'move','view'".');" />'.
                       '<input type="button" value="'.&mt('Cancel').'" onclick="go('."'/adm/wishlist'".')"/>';                        '<input type="button" value="'.&mt('Cancel').'" onclick="go('."'/adm/wishlist'".')" />';
   
             $wishlistHTMLmove ='<tr id="root" class="LC_odd_row"><td><input type="radio" name="mark" id="radioRoot" value="root" /></td>'.              $wishlistHTMLmove ='<tr id="root" class="LC_odd_row"><td><input type="radio" name="mark" id="radioRoot" value="root" /></td>'.
                                '<td>'.&mt('Top level').'</td><td></td></tr>';                                 '<td>'.&mt('Top level').'</td><td></td></tr>';
         }          }
         else {          else {
             $inner .= '<p><span class="LC_info">'.&mt("You haven't marked any entry to move.").'</span></p>'.              $inner .= '<p><span class="LC_info">'.&mt("You haven't marked any entry to move.").'</span></p>'.
                       '<input type="button" value="'.&mt('Back').'" onclick="go('."'/adm/wishlist'".')"/>';                        '<input type="button" value="'.&mt('Back').'" onclick="go('."'/adm/wishlist'".')" />';
         }          }
     }      }
           
Line 1586  sub makePopUpNewLink { Line 1586  sub makePopUpNewLink {
   
     # HTML-Markup for the Pop-Up-window 'Set a link for this resource to wishlist'      # HTML-Markup for the Pop-Up-window 'Set a link for this resource to wishlist'
     my $startPageWishlistlink =       my $startPageWishlistlink = 
         &Apache::loncommon::start_page('Set link to wishlist',undef,          &Apache::loncommon::start_page('Save to Stored Links',undef,
                                       {'only_body' => 1,                                        {'only_body' => 1,
                                        'bgcolor'   => '#FFFFFF',});                                         'bgcolor'   => '#FFFFFF',});
   
Line 1595  sub makePopUpNewLink { Line 1595  sub makePopUpNewLink {
                                     'or to external websites. Paths to LON-CAPA resources must be of the form /res/dom/usr... . '.                                      'or to external websites. Paths to LON-CAPA resources must be of the form /res/dom/usr... . '.
                                     'Paths to external websites must contain the network protocol (e.g. http://...).');                                      'Paths to external websites must contain the network protocol (e.g. http://...).');
   
     my $inPageWishlistlink1 = '<h1>'.&mt('Set a link to wishlist').'</h1>';      my $inPageWishlistlink1 = '<h1>'.&mt('Save to Stored Links').'</h1>';
     # If no title is delivered, 'New Link' is called up from the wishlist-interface, so after      # If no title is delivered, 'New Link' is called up from the wishlist-interface, so after
     # submitting the window should close instead of offering a link to wishlist (like it should do      # submitting the window should close instead of offering a link to wishlist (like it should do
     # if we call 'Set New Link' from within a browsed ressource)      # if we call 'Set New Link' from within a browsed ressource)
Line 1631  sub makePopUpNewLink { Line 1631  sub makePopUpNewLink {
   
     my $popUp = $startPageWishlistlink.      my $popUp = $startPageWishlistlink.
     $inPageWishlistlink1.      $inPageWishlistlink1.
     '<input type="text" name="title" size="45" value=""/>'.      '<input type="text" name="title" size="45" value="" />'.
     $inPageWishlistlink2.      $inPageWishlistlink2.
     '<input type="text" name="path" size="45" value=""/>'.      '<input type="text" name="path" size="45" value="" />'.
     $inPageWishlistlink3;      $inPageWishlistlink3;
   
     # JavaScript-function to set title and path of ressource automatically      # JavaScript-function to set title and path of ressource automatically
Line 1743  SCRIPT Line 1743  SCRIPT
 # Returns the HTML-Markup for the page, shown when a link was set  # Returns the HTML-Markup for the page, shown when a link was set
 sub makePageSet {  sub makePageSet {
     # start_page       # start_page 
     my $startPage = &Apache::loncommon::start_page('Wishlist',undef,      my $startPage = &Apache::loncommon::start_page('Stored Links',undef,
                                                    {'only_body' => 1});                                                     {'only_body' => 1});
           
     # confirm success and offer link to wishlist      # confirm success and offer link to wishlist
     my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Link successfully set!'));      my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Link successfully saved!'));
     $message = &Apache::loncommon::confirmwrapper($message);      $message = &Apache::loncommon::confirmwrapper($message);
   
     my $inner .= '<br>'.$message.'<br/><br/>'.      my $inner .= '<br>'.$message.'<br/><br/>'.
                  '<a href="javascript:;" onclick="opener.open('."'/adm/wishlist'".');window.close();">'.&mt('Go to wishlist').'</a>'.                   '<a href="javascript:;" onclick="opener.open('."'/adm/wishlist'".');window.close();">'.&mt('Go to Stored Links').'</a>'.('&nbsp;' x 3).
                  '&nbsp;<a href="javascript:;" onclick="window.close();">'.&mt('Close this window').'</a>';                   '<a href="javascript:;" onclick="window.close();">'.&mt('Close this window').'</a>';
   
     # end_page       # end_page 
     my $endPage =  &Apache::loncommon::end_page();      my $endPage =  &Apache::loncommon::end_page();
Line 1772  sub makePageImport { Line 1772  sub makePageImport {
     $root = $rootgiven;      $root = $rootgiven;
     @childrenRt = $root->children();      @childrenRt = $root->children();
     # start_page       # start_page 
     my $startPage = &Apache::loncommon::start_page('Wishlist',undef,      my $startPage = &Apache::loncommon::start_page('Stored Links',undef,
                                                    {'only_body' => 1});                                                     {'only_body' => 1});
           
     # get javascript-code for wishlist-interactions      # get javascript-code for wishlist-interactions
     my $js = &JSforWishlist();      my $js = &JSforWishlist();
     $js .= &JSforImport($rat);      $js .= &JSforImport($rat);
   
     my $inner = '<h1>'.&mt('Import Resources from Wishlist').'</h1>';      my $inner = '<h1>'.&mt('Import Resources from Stored Links').'</h1>';
     if (!$rat) {      if (!$rat) {
         $inner .= '<p><span class="LC_info">'.&mt("Please note that you  can use the checkboxes corresponding to a folder to ".          $inner .= '<p><span class="LC_info">'.&mt("Please note that you can use the checkboxes corresponding to a folder to ".
                                                   "easily check all links within this folder. The folder structure itself can't be imported. ".                                                    "easily check all links within this folder. The folder structure itself can't be imported. ".
                                                   "All checked links will be imported into the current folder of your course.").'</span></p>';                                                    "All checked links will be imported into the current folder of your course.").'</span></p>';
     }      }
     else {      else {
         $inner .= '<p><span class="LC_info">'.&mt("Please note that you  can use the checkboxes corresponding to a folder to ".          $inner .= '<p><span class="LC_info">'.&mt("Please note that you can use the checkboxes corresponding to a folder to ".
                                                   "easily check all links within this folder. The folder structure itself can't be imported. ")                                                    "easily check all links within this folder. The folder structure itself can't be imported. ")
                                                   .'</span></p>';                                                    .'</span></p>';
     }      }
Line 1804  sub makePageImport { Line 1804  sub makePageImport {
         $fnum = (keys %wishlist)-1;          $fnum = (keys %wishlist)-1;
     }      }
   
     $inner .= '<form method="post" name="groupsort">'.      $inner .= '<form method="post" name="groupsort" action="">'.
               '<input type="hidden" value="'.$fnum.'" name="fnum">'.                '<input type="hidden" value="'.$fnum.'" name="fnum" />'.
               '<input type="button" onclick="javascript:checkAll()" id="checkallbutton" value="'.&mt('Check All').'">'.                '<input type="button" onclick="javascript:checkAll()" id="checkallbutton" value="'.&mt('Check All').'" />'.
               '<input type="button" onclick="javascript:uncheckAll()" id="uncheckallbutton" value="'.&mt('Uncheck All').'">'.                '<input type="button" onclick="javascript:uncheckAll()" id="uncheckallbutton" value="'.&mt('Uncheck All').'" />'.
               '<input type="button" value="'.&mt('Import Checked').'" onclick="finish_import();">'.                    '<input type="button" value="'.&mt('Import Checked').'" onclick="finish_import();" />'.    
               '<input type="button" value="'.&mt('Cancel').'" onclick="window.close();"><br/><br/>';                 '<input type="button" value="'.&mt('Cancel').'" onclick="window.close();" /><br/><br/>'; 
   
           
     # wishlist-table      # wishlist-table
Line 1818  sub makePageImport { Line 1818  sub makePageImport {
         $inner .= '<table class="LC_data_table LC_tableOfContent">'.$wishlistHTMLimport.'</table>';          $inner .= '<table class="LC_data_table LC_tableOfContent">'.$wishlistHTMLimport.'</table>';
     }      }
     else {      else {
         $inner .= '<span class="LC_info">'.&mt("Your wishlist ist currently empty.").'</span>';          $inner .= '<span class="LC_info">'.&mt("Your Stored Links list is currently empty.").'</span>';
     }      }
     $wishlistHTMLimport = '';      $wishlistHTMLimport = '';
   
Line 1840  sub makeErrorPage { Line 1840  sub makeErrorPage {
     &Apache::lonhtmlcommon::add_breadcrumb(      &Apache::lonhtmlcommon::add_breadcrumb(
               { href => '/adm/wishlist',                { href => '/adm/wishlist',
                 text => 'Wishlist'});                  text => 'Wishlist'});
     my $startPage = &Apache::loncommon::start_page('Wishlist');      my $startPage = &Apache::loncommon::start_page('Stored Links');
           
     my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs(&mt('Wishlist').&Apache::loncommon::help_open_topic('Wishlist'));      my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs(&mt('Stored Links').&Apache::loncommon::help_open_topic('Wishlist'));
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
   
     # error-message      # error-message

Removed from v.1.10  
changed lines
  Added in v.1.13


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>