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

  1. <?php
  2. /**
  3.  * A ITDynamic renderer example for ProgressBar Uploader
  4.  * that used template engine IT[x] family.
  5.  *
  6.  * @version    $Id: uploader_itdynamic1.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('MyUploader3', array(
  27.     'title'  => 'Upload your pictures',
  28.     'mask'   => 'upload <b>%s</b> in progress ...',
  29.     'start'  => 'Upload',
  30.     'cancel' => 'Stop',
  31.     'button' => array('style' => 'width:80px;')
  32.     )
  33. );
  34.  
  35. // Attach a progress ui-model (see file progressModels.php for attributes definition)
  36. $progress = new HTML_Progress();
  37. $progress->setUI('Progress_ITDynamic');
  38. $progress->setAnimSpeed(100);               // (animation: 0 faster, 1000 slower)
  39. $uploader->setProgressElement($progress);
  40.  
  41. // Allow only pictures upload
  42. $uploader->setValidExtensions(array('gif','jpg','jpeg','png'));
  43.  
  44. // can use either HTML_Template_Sigma or HTML_Template_ITX
  45. $tpl =& new HTML_Template_ITX('./templates');
  46. // $tpl =& new HTML_Template_Sigma('./templates');
  47.  
  48.  
  49. $tpl->loadTemplateFile('itdynamic_uploader.html');
  50.  
  51. $tpl->setVariable(array(
  52.     'qf_style'  => $progress->getStyle(),
  53.     'qf_script' => $uploader->getScript()
  54.     )
  55. );
  56.  
  57. $renderer =& new HTML_QuickForm_Renderer_ITDynamic($tpl);
  58. $renderer->setElementBlock(array(
  59.     'buttons'     => 'qf_buttons'
  60. ));
  61.  
  62. $uploader->accept($renderer);
  63.  
  64. // Display progress uploader dialog box
  65. $tpl->show();
  66.  
  67.  
  68. if ($uploader->isStarted()) {
  69. // Begin upload
  70.  
  71.     // declare files to upload    
  72.     $uploader->setFiles(array(
  73.         'splintercell.jpg',
  74.         'd:/Mes Documents/Mes images/black hawk down/00015962.jpg'
  75.         )
  76.     );
  77.  
  78.     // connect to ftp server
  79.     $logs = $uploader->logon($ftp['user'], $ftp['pass'], $ftp['host']);
  80.     if (PEAR::isError($logs)) {
  81.         die($logs->getMessage());
  82.     }    
  83.  
  84.     // set timeout as a default ftp connection
  85.     set_time_limit(90);
  86.     
  87.     $ret = $uploader->moveTo('tmp', true);  // replace existing files 
  88.     if (PEAR::isError($ret)) {
  89.         die($ret->getMessage());
  90.     }    
  91.  
  92.     // summary of uploads operation
  93.     if (count($ret) == 0) {
  94.         echo '<i>All files were move on to ' . $ftp['host'] . "</i><br/>\n";
  95.     } else {
  96.         echo '<b>Some files were not move on to ' . $ftp['host'] . "</b><br/>\n";
  97.         print "<pre>";
  98.         var_dump($ret);
  99.         print "</pre>";
  100.     }
  101.  
  102.     // disconnect from ftp server
  103.     $uploader->logoff();
  104. }
  105.  
  106. if ($uploader->isCanceled()) {
  107.     $uploader->logoff();     // disconnect from ftp server before a timeout has occured
  108. }
  109. ?>
  110.  
  111. </body>
  112. </html>