Ignore:
Timestamp:
Jul 6, 2012, 1:03:39 PM (12 years ago)
Author:
mistic100
Message:
  • stylish download page
  • if there is only one archive, the file is downloaded directly
  • improve configuration page + add sliders (needs Piwigo 2.4.2)
Location:
extensions/BatchDownloader/include
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • extensions/BatchDownloader/include/BatchDownloader.class.php

    r16379 r16392  
    260260   * createNextArchive
    261261   */
    262   function createNextArchive()
     262  function createNextArchive($force_one_archive=false)
    263263  {
    264264    // set already downloaded
     
    329329       
    330330        $total_size+= $row['filesize'];
    331         if ($total_size >= $this->conf['max_size']*1024) break;
     331        if ($total_size >= $this->conf['max_size']*1024 and !$force_one_archive) break;
    332332      }
    333333     
     
    358358      {
    359359        $this->updateParam('status', 'done');
     360        $this->clear(false);
    360361      }
    361362     
     
    417418    $nb_archives = $this->getEstimatedArchiveNumber();
    418419   
    419     $out = '<ul id="download_list">';
    420     if ($this->data['status'] == 'done')
     420    $out = '';
     421    /*if ($this->data['status'] == 'done')
    421422    {
    422423      $out.= '<li id="zip-1">Already downloaded</li>';
    423     }
    424     else
     424    }*/
     425    if (true)
    425426    {
    426427      for ($i=1; $i<=$this->data['nb_zip']; $i++)
     
    430431        if ($i < $this->data['last_zip']+1)
    431432        {
    432           $out.= 'Archive #'.$i.' (already downloaded)';
     433          $out.= '<img src="'.BATCH_DOWNLOAD_PATH.'template/drive.png"> Archive #'.$i.' (already downloaded)';
    433434        }
    434435        else if ($i == $this->data['last_zip']+1)
    435436        {
    436             $out.= '<a href="'.add_url_params($url, array('set_id'=>$this->data['set_id'],'zip'=>$i)).'" rel="nofollow"'
     437            $out.= '<a href="'.add_url_params($url, array('set_id'=>$this->data['set_id'],'zip'=>$i)).'" rel="nofollow" style="font-weight:bold;"'
    437438              .($i!=1 ? 'onClick="return confirm(\'Starting download Archive #'.$i.' will destroy Archive #'.($i-1).', be sure you finish the download. Continue ?\');"' : null).
    438               '>Archive #'.$i.' (ready)</a>';
     439              '><img src="'.BATCH_DOWNLOAD_PATH.'template/drive_go.png"> Archive #'.$i.' (ready)</a>';
    439440        }
    440441        else
    441442        {
    442           $out.= 'Archive #'.$i.' (pending)';
     443          $out.= '<img src="'.BATCH_DOWNLOAD_PATH.'template/drive.png"> Archive #'.$i.' (pending)';
    443444        }
    444445       
     
    446447      }
    447448    }
    448     $out.= '</ul>';
    449449   
    450450    return $out;
     
    472472          $this->data['type'] .'-'. $this->data['type_id'] .'_'.
    473473          $this->data['user_id'] . $this->data['set_id'] .'_'.
    474           'part'. $i .'.zip';
     474          ($this->data['nb_zip']!=1 ? 'part'. $i : null).
     475          '.zip';
    475476  }
    476477 
     
    505506      {
    506507        $category = get_cat_info($this->data['type_id']);
    507         $set['NAME'] = get_cat_display_name($category['upper_names']);
    508         $set['sNAME'] = $category['name'];
    509         $set['COMMENT'] = trigger_action('render_category_description', $category['comment']);
     508        $set['NAME'] = l10n('Album').': '.get_cat_display_name($category['upper_names']);
     509        $set['sNAME'] = l10n('Album').': '.trigger_event('render_category_name', $category['name']);
     510        $set['COMMENT'] = trigger_event('render_category_description', $category['comment']);
    510511        break;
    511512      }
     
    532533            .'</a>';
    533534        }
     535       
     536        $set['sNAME'] = l10n('Tags').': '.strip_tags($set['COMMENT']);
    534537        break;
    535538      }
  • extensions/BatchDownloader/include/download.inc.php

    r16379 r16392  
    1515    $BatchDownloader = new BatchDownloader($_GET['set_id']);
    1616   
    17     if ($BatchDownloader->getParam('status') != 'done')
     17    if ( isset($_GET['cancel']) )
    1818    {
    19       if (isset($_GET['zip']))
    20       {
    21         $BatchDownloader->deleteLastArchive();
    22         $next_file = $BatchDownloader->createNextArchive();
    23       }
    24       else
    25       {
    26         $BatchDownloader->getEstimatedArchiveNumber();
    27       }
     19      $BatchDownloader->deleteLastArchive();
     20      $BatchDownloader->clear();
     21      pwg_query('DELETE FROM '.BATCH_DOWNLOAD_TSETS.' WHERE id = '.$_GET['set_id'].';');
     22      $_SESSION['page_infos'][] = l10n('Download set deleted');
     23      redirect('index.php');
     24    }
     25   
     26    if ( isset($_GET['zip']) and $BatchDownloader->getParam('status') != 'done' and $_GET['zip'] > $BatchDownloader->getParam('last_zip') )
     27    {
     28      $BatchDownloader->deleteLastArchive();
     29      $next_file = $BatchDownloader->createNextArchive();
    2830    }
    2931
     
    3335    {
    3436      $set['U_DOWNLOAD'] = BATCH_DOWNLOAD_PATH . 'download.php?set_id='.$_GET['set_id'].'&amp;zip='.$_GET['zip'];
    35       array_push($page['infos'], sprintf(l10n('Archive #%d is downloading, if the download doesn\'t start automatically please <a href="%s">click here</a>'), $_GET['zip'], $set['U_DOWNLOAD']));
     37      array_push($page['infos'], sprintf(l10n('The archive is downloading, if the download doesn\'t start automatically please <a href="%s">click here</a>'), $set['U_DOWNLOAD']));
    3638    }
    3739   
    3840    if ($BatchDownloader->getParam('nb_images') > $conf['batch_download']['max_elements'])
    3941    {
    40       array_push($page['errors'], sprintf(
     42      $template->assign('elements_error', sprintf(
    4143        l10n('You choose to download %d pictures, but the system is limited to %d. You can edit the set, or the last %d pictures will not be downloaded.'),
    4244        $BatchDownloader->getParam('nb_images'),
     
    4446        $BatchDownloader->getParam('nb_images') - $conf['batch_download']['max_elements']
    4547        ));
     48    }
     49   
     50    if ($BatchDownloader->getParam('status') == 'new')
     51    {
     52      $set['U_CANCEL'] = BATCH_DOWNLOAD_PUBLIC . 'init_zip&amp;set_id='.$_GET['set_id'].'&amp;cancel';
    4653    }
    4754   
     
    102109}
    103110
     111$template->assign('BATCH_DOWNLOAD_PATH', BATCH_DOWNLOAD_PATH);
     112
    104113
    105114function batch_download_thumbnails_list_prefilter($content, &$smarty)
  • extensions/BatchDownloader/include/events.inc.php

    r16379 r16392  
    2424   
    2525    $page['section'] = 'download';
    26     $page['title'] = l10n('Advanced Downloader').$conf['level_separator'].' ';
     26    $page['title'] = l10n('Batch Downloader').$conf['level_separator'].' ';
    2727   
    2828    switch (@$tokens[1])
     
    5757function batch_download_index_button()
    5858{
    59   global $page, $template, $user;
     59  global $page, $template, $user, $conf;
    6060 
    6161  if ( !count($page['items']) or !isset($page['section']) ) return;
     
    7171    {
    7272      $BatchDownloader = new BatchDownloader('new', $page['items'], $set['type'], $set['id']);
    73       redirect(BATCH_DOWNLOAD_PUBLIC . 'init_zip&amp;set_id='.$BatchDownloader->getParam('set_id'));
     73      $BatchDownloader->getEstimatedArchiveNumber();
     74     
     75      if (
     76        $BatchDownloader->getParam('nb_images') <= $conf['batch_download']['max_elements']
     77        and $BatchDownloader->getParam('nb_zip') == 1
     78      )
     79      {
     80        $BatchDownloader->createNextArchive(true);
     81       
     82        $u_download = BATCH_DOWNLOAD_PATH . 'download.php?set_id='.$BatchDownloader->getParam('set_id').'&amp;zip=1';
     83       
     84        $null = null;
     85        $template->block_footer_script(null, 'setTimeout("document.location.href = \''.$u_download.'\';", 1000);', $null, $null);
     86       
     87        array_push($page['infos'], sprintf(l10n('The archive is downloading, if the download doesn\'t start automatically please <a href="%s">click here</a>'), $u_download));
     88      }
     89      else
     90      {
     91        redirect(BATCH_DOWNLOAD_PUBLIC . 'init_zip&amp;set_id='.$BatchDownloader->getParam('set_id'));
     92      }
    7493    }
    7594  }
Note: See TracChangeset for help on using the changeset viewer.