[ Index ]
 

Code source de SugarCRM 5.0.0beta1

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/ModuleInstall/PackageManager/ -> PackageManagerDownloader.php (source)

   1  <?php
   2  /*********************************************************************************

   3   * SugarCRM is a customer relationship management program developed by

   4   * SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.

   5   * 

   6   * This program is free software; you can redistribute it and/or modify it under

   7   * the terms of the GNU General Public License version 3 as published by the

   8   * Free Software Foundation.

   9   * 

  10   * This program is distributed in the hope that it will be useful, but WITHOUT

  11   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS

  12   * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more

  13   * details.

  14   * 

  15   * You should have received a copy of the GNU General Public License along with

  16   * this program; if not, see http://www.gnu.org/licenses or write to the Free

  17   * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA

  18   * 02110-1301 USA.

  19   * 

  20   * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,

  21   * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.

  22   * 

  23   * The interactive user interfaces in modified source and object code versions

  24   * of this program must display Appropriate Legal Notices, as required under

  25   * Section 5 of the GNU General Public License version 3.

  26   * 

  27   * In accordance with Section 7(b) of the GNU General Public License version 3,

  28   * these Appropriate Legal Notices must retain the display of the "Powered by

  29   * SugarCRM" logo. If the display of the logo is not reasonably feasible for

  30   * technical reasons, the Appropriate Legal Notices must display the words

  31   * "Powered by SugarCRM".

  32   ********************************************************************************/
  33  define('PACKAGE_MANAGER_DOWNLOAD_SERVER', 'https://depot.sugarcrm.com/depot/');
  34  define('PACKAGE_MANAGER_DOWNLOAD_PAGE', 'download.php');
  35  define('PACKAGE_MANAGER_DOWNLOAD_PATH', '../cache/upload/');
  36  class PackageManagerDownloader{
  37      
  38      /**

  39       * Using curl we will download the file from the depot server

  40       * 

  41       * @param session_id        the session_id this file is queued for

  42       * @param file_name            the file_name to download

  43       * @param save_dir            (optional) if specified it will direct where to save the file once downloaded

  44       * @param download_sever    (optional) if specified it will direct the url for the download

  45       * 

  46       * @return the full path of the saved file

  47       */
  48  	function download($session_id, $file_name, $save_dir = '', $download_server = ''){
  49          if(empty($save_dir)){
  50              $save_dir = PACKAGE_MANAGER_DOWNLOAD_PATH;
  51          }
  52          if(empty($download_server)){
  53              $download_server = PACKAGE_MANAGER_DOWNLOAD_SERVER;
  54          }
  55          $download_server .= PACKAGE_MANAGER_DOWNLOAD_PAGE;
  56          $ch = curl_init($download_server . '?filename='. $file_name);
  57          $fp = fopen($save_dir . $file_name, 'w');
  58          curl_setopt($ch, CURLOPT_COOKIE, 'PHPSESSID='.$session_id. ';');
  59          curl_setopt($ch, CURLOPT_FILE, $fp);
  60          curl_setopt($ch, CURLOPT_HEADER, 0);
  61          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  62          curl_exec($ch);
  63          curl_close($ch);
  64          fclose($fp);
  65          return $save_dir . $file_name;
  66      }
  67  }
  68  ?>


Généré le : Tue Sep 11 10:48:47 2007 par Balluche grâce à PHPXref 0.7