home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 June / ENTER.ISO / files / xampp-win32-1.4.5-installer.exe / xampp / uploader_itdynamic2.php < prev    next >
Encoding:
PHP Script  |  2004-03-24  |  3.0 KB  |  109 lines

  1. <?php
  2. /**
  3.  * Another ITDynamic renderer example for ProgressBar Uploader
  4.  * that used template engine IT[x] family.
  5.  *
  6.  * @version    $Id: uploader_itdynamic2.php,v 1.1 2004/02/14 22:07:25 farell Exp $
  7.  * @author     Laurent Laville <pear@laurent-laville.org>
  8.  * @package    HTML_Progress
  9.  */
  10.  
  11. require_once 'HTML/Progress/uploader.php';
  12. require_once 'progressModels.php';
  13. require_once 'HTML/QuickForm/Renderer/ITDynamic.php';
  14. // can use either HTML_Template_Sigma or HTML_Template_ITX
  15. require_once 'HTML/Template/ITX.php';
  16. //require_once 'HTML/Template/Sigma.php';
  17.  
  18. // Account FTP on remote server
  19. $ftp = array(
  20.     'user' => 'farell',
  21.     'pass' => 'xxxxxx',
  22.     'host' => 'ftpperso.free.fr'
  23. );
  24.  
  25. // A custom progress uploader dialog box 
  26. $uploader = new HTML_Progress_Uploader('MyUploader4', array(
  27.     'mask'   => 'upload %s in progress ...',
  28.     'button' => array('style' => 'width:80px;')
  29.     )
  30. );
  31.  
  32. // Attach a progress ui-model (see file progressModels.php for attributes definition)
  33. $progress = new HTML_Progress();
  34. $progress->setUI('Progress_ITDynamic2');
  35. $progress->setAnimSpeed(100);               // (animation: 0 faster, 1000 slower)
  36. $uploader->setProgressElement($progress);
  37.  
  38. // Allow only pictures upload
  39. $uploader->setValidExtensions(array('gif','jpg','jpeg','png'));
  40.  
  41. // can use either HTML_Template_Sigma or HTML_Template_ITX
  42. $tpl =& new HTML_Template_ITX('./templates');
  43. // $tpl =& new HTML_Template_Sigma('./templates');
  44.  
  45.  
  46. $tpl->loadTemplateFile('itdynamic_uploader2.html');
  47.  
  48. $tpl->setVariable(array(
  49.     'qf_style'  => $progress->getStyle(),
  50.     'qf_script' => $uploader->getScript()
  51.     )
  52. );
  53.  
  54. $renderer =& new HTML_QuickForm_Renderer_ITDynamic($tpl);
  55. $renderer->setElementBlock(array(
  56.     'buttons'     => 'qf_buttons'
  57. ));
  58.  
  59. $uploader->accept($renderer);
  60.  
  61. // Display progress uploader dialog box
  62. $tpl->show();
  63.  
  64.  
  65. if ($uploader->isStarted()) {
  66. // Begin upload
  67.  
  68.     // declare files to upload    
  69.     $uploader->setFiles(array(
  70.         'splintercell.jpg',
  71.         'd:/Mes Documents/Mes images/black hawk down/00015962.jpg'
  72.         )
  73.     );
  74.  
  75.     // connect to ftp server
  76.     $logs = $uploader->logon($ftp['user'], $ftp['pass'], $ftp['host']);
  77.     if (PEAR::isError($logs)) {
  78.         die($logs->getMessage());
  79.     }    
  80.  
  81.     // set timeout as a default ftp connection
  82.     set_time_limit(90);
  83.     
  84.     $ret = $uploader->moveTo('tmp', true);  // replace existing files 
  85.     if (PEAR::isError($ret)) {
  86.         die($ret->getMessage());
  87.     }    
  88.  
  89.     // summary of uploads operation
  90.     if (count($ret) == 0) {
  91.         echo '<i>All files were move on to ' . $ftp['host'] . "</i><br/>\n";
  92.     } else {
  93.         echo '<b>Some files were not move on to ' . $ftp['host'] . "</b><br/>\n";
  94.         print "<pre>";
  95.         var_dump($ret);
  96.         print "</pre>";
  97.     }
  98.  
  99.     // disconnect from ftp server
  100.     $uploader->logoff();
  101. }
  102.  
  103. if ($uploader->isCanceled()) {
  104.     $uploader->logoff();     // disconnect from ftp server before a timeout has occured
  105. }
  106. ?>
  107.  
  108. </body>
  109. </html>