当前位置: 首页>>代码示例>>PHP>>正文


PHP Mage_Connect_Ftp类代码示例

本文整理汇总了PHP中Mage_Connect_Ftp的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Connect_Ftp类的具体用法?PHP Mage_Connect_Ftp怎么用?PHP Mage_Connect_Ftp使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Mage_Connect_Ftp类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: save

 /**
  * Save file
  *
  * @return Maged_Model_Config
  */
 public function save()
 {
     if (!is_writable($this->getFilename()) && is_file($this->getFilename()) || dirname($this->getFilename()) != '' && !is_writable(dirname($this->getFilename()))) {
         if (isset($this->_data['ftp']) && !empty($this->_data['ftp']) && strlen($this->get('downloader_path')) > 0) {
             $confFile = $this->get('downloader_path') . DIRECTORY_SEPARATOR . basename($this->getFilename());
             $ftpObj = new Mage_Connect_Ftp();
             $ftpObj->connect($this->_data['ftp']);
             $tempFile = tempnam(sys_get_temp_dir(), 'configini');
             $fp = fopen($tempFile, 'w');
             foreach ($this->_data as $k => $v) {
                 fwrite($fp, $k . '=' . $v . "\n");
             }
             fclose($fp);
             $ret = $ftpObj->upload($confFile, $tempFile);
             $ftpObj->close();
         } else {
             /* @TODO: show Warning message*/
             $this->controller()->session()->addMessage('warning', 'Invalid file permissions, could not save configuration.');
             return $this;
         }
         /**/
     } else {
         $fp = fopen($this->getFilename(), 'w');
         foreach ($this->_data as $k => $v) {
             fwrite($fp, $k . '=' . $v . "\n");
         }
         fclose($fp);
     }
     return $this;
 }
开发者ID:cewolf2002,项目名称:magento,代码行数:35,代码来源:Abstract.php

示例2: store

 /**
  * Save config file on the disk or over ftp
  *
  * @return bool
  */
 public function store()
 {
     $result = false;
     if ($this->_forceSave || $this->_configLoaded || strlen($this->remote_config) > 0) {
         $data = serialize($this->toArray());
         if (strlen($this->remote_config) > 0) {
             //save config over ftp
             $confFile = $this->downloader_path . DIRECTORY_SEPARATOR . "connect.cfg";
             try {
                 $ftpObj = new Mage_Connect_Ftp();
                 $ftpObj->connect($this->remote_config);
             } catch (Exception $e) {
                 $this->_configError = 'Cannot access to deployment FTP path. ' . 'Check deployment FTP Installation path settings.';
                 return $result;
             }
             try {
                 $tempFile = tempnam(sys_get_temp_dir(), 'config');
                 $f = fopen($tempFile, "w+");
                 fwrite($f, self::HEADER);
                 fwrite($f, $data);
                 fclose($f);
             } catch (Exception $e) {
                 $this->_configError = 'Cannot access to temporary file storage to save Settings.' . 'Contact your system administrator.';
                 return $result;
             }
             try {
                 $result = $ftpObj->upload($confFile, $tempFile);
                 $ftpObj->close();
             } catch (Exception $e) {
                 $this->_configError = 'Cannot write file over FTP. ' . 'Check deployment FTP Installation path settings.';
                 return $result;
             }
             if (!$result) {
                 $this->_configError = '';
             }
         } elseif (is_file($this->_configFile) && is_writable($this->_configFile) || is_writable(getcwd())) {
             try {
                 $f = fopen($this->_configFile, "w+");
                 fwrite($f, self::HEADER);
                 fwrite($f, $data);
                 fclose($f);
                 $result = true;
             } catch (Exception $e) {
                 $result = false;
             }
         }
     }
     return $result;
 }
开发者ID:ravi2jdesign,项目名称:solvingmagento_1.7.0,代码行数:54,代码来源:Config.php

示例3: cleanCache

 protected function cleanCache()
 {
     $result = true;
     $message = '';
     try {
         if ($this->isInstalled()) {
             if (!empty($_REQUEST['clean_sessions'])) {
                 Mage::app()->cleanAllSessions();
                 $message .= 'Session cleaned successfully. ';
             }
             Mage::app()->cleanCache();
             // reinit config and apply all updates
             Mage::app()->getConfig()->reinit();
             Mage_Core_Model_Resource_Setup::applyAllUpdates();
             Mage_Core_Model_Resource_Setup::applyAllDataUpdates();
             $message .= 'Cache cleaned successfully';
         } else {
             $result = true;
         }
     } catch (Exception $e) {
         $result = false;
         $message = "Exception during cache and session cleaning: " . $e->getMessage();
         $this->session()->addMessage('error', $message);
     }
     if ($result && $this->_getMaintenanceFlag()) {
         $maintenance_filename = 'maintenance.flag';
         $config = $this->config();
         if (!$this->isWritable() && strlen($config->__get('remote_config')) > 0) {
             $ftpObj = new Mage_Connect_Ftp();
             $ftpObj->connect($config->__get('remote_config'));
             $ftpObj->delete($maintenance_filename);
             $ftpObj->close();
         } else {
             @unlink($this->_getMaintenanceFilePath());
         }
     }
     return array('result' => $result, 'message' => $message);
 }
开发者ID:lightyoruichi,项目名称:Magento-Pre-Patched-Files,代码行数:38,代码来源:Controller.php

示例4: getRemoteModifiedFiles

 /**
  * Get remote modified files
  *
  * @param $chanName
  * @param $package
  * @param $cacheObj
  * @param Mage_Connect_Ftp $ftp
  * @return array
  */
 public function getRemoteModifiedFiles($chanName, $package, $cacheObj, $ftp)
 {
     $p = $cacheObj->getPackageObject($chanName, $package);
     $hashContents = $p->getHashContents();
     $listModified = array();
     foreach ($hashContents as $file => $hash) {
         $localFile = uniqid("temp_remote_");
         if (!$ftp->fileExists($file)) {
             continue;
         }
         $ftp->get($localFile, $file);
         if (file_exists($localFile) && md5_file($localFile) !== $hash) {
             $listModified[] = $file;
         }
         @unlink($localFile);
     }
     return $listModified;
 }
开发者ID:jpbender,项目名称:mage_virtual,代码行数:27,代码来源:Packager.php

示例5: validateConfigPost

 /**
  * Validate settings post data.
  *
  * @param array $p
  */
 public function validateConfigPost($p)
 {
     $errors = array();
     $configTestFile = 'connect.cfgt';
     $configObj = $this->connect()->getConfig();
     if ('ftp' == $p['deployment_type'] || '1' == $p['inst_protocol']) {
         /*check ftp*/
         $confFile = $configObj->downloader_path . DIRECTORY_SEPARATOR . $configTestFile;
         try {
             $ftpObj = new Mage_Connect_Ftp();
             $ftpObj->connect($p['ftp']);
             $tempFile = tempnam(sys_get_temp_dir(), 'config');
             $serial = md5('config test file');
             $f = @fopen($tempFile, "w+");
             @fwrite($f, $serial);
             @fclose($f);
             $ret = $ftpObj->upload($confFile, $tempFile);
             //read file
             if (!$errors && is_file($configTestFile)) {
                 $size = filesize($configTestFile);
                 if (!$size) {
                     $errors[] = 'Unable to read saved settings. Please check Installation Path of FTP Connection.';
                 }
                 if (!$errors) {
                     $f = @fopen($configTestFile, "r");
                     @fseek($f, 0, SEEK_SET);
                     $contents = @fread($f, strlen($serial));
                     if ($serial != $contents) {
                         $errors[] = 'Wrong Installation Path of FTP Connection.';
                     }
                     fclose($f);
                 }
             } else {
                 $errors[] = 'Unable to read saved settings. Please check Installation Path of FTP Connection.';
             }
             $ftpObj->delete($confFile);
             $ftpObj->close();
         } catch (Exception $e) {
             $errors[] = 'Deployment FTP Error. ' . $e->getMessage();
         }
     } else {
         $p['ftp'] = '';
     }
     if ('1' == $p['use_custom_permissions_mode']) {
         /*check permissions*/
         if (octdec(intval($p['mkdir_mode'])) < 73 || octdec(intval($p['mkdir_mode'])) > 511) {
             $errors[] = 'Folders permissions not valid. ';
         }
         if (octdec(intval($p['chmod_file_mode'])) < 73 || octdec(intval($p['chmod_file_mode'])) > 511) {
             $errors[] = 'Files permissions not valid. ';
         }
     }
     //$this->controller()->session()->addMessage('success', 'Settings has been successfully saved');
     return $errors;
 }
开发者ID:newedge-media,项目名称:iwantmymeds,代码行数:60,代码来源:Connect.php

示例6: store

 public function store()
 {
     if ($this->_configLoaded || strlen($this->remote_config) > 0) {
         // @TODO: use ftp to save config
         $data = serialize($this->toArray());
         if (strlen($this->remote_config) > 0) {
             $confFile = $this->downloader_path . DIRECTORY_SEPARATOR . "connect.cfg";
             $ftpObj = new Mage_Connect_Ftp();
             $ftpObj->connect($this->remote_config);
             $tempFile = tempnam(sys_get_temp_dir(), 'config');
             $f = @fopen($tempFile, "w+");
             @fwrite($f, self::HEADER);
             @fwrite($f, $data);
             @fclose($f);
             $ret = $ftpObj->upload($confFile, $tempFile);
             $ftpObj->close();
         } elseif (is_file($this->_configFile) && is_writable($this->_configFile) || is_writable(getcwd())) {
             $f = @fopen($this->_configFile, "w+");
             @fwrite($f, self::HEADER);
             @fwrite($f, $data);
             @fclose($f);
         }
     }
 }
开发者ID:votanlean,项目名称:Magento-Pruebas,代码行数:24,代码来源:Config.php

示例7: endInstall

 /**
  * End install package(s)
  *
  */
 public function endInstall()
 {
     if ($this->isInstalled()) {
         try {
             if (!empty($_GET['clean_sessions'])) {
                 Mage::app()->cleanAllSessions();
             }
             Mage::app()->cleanCache();
         } catch (Exception $e) {
             $this->session()->addMessage('error', "Exception during cache and session cleaning: " . $e->getMessage());
         }
         // reinit config and apply all updates
         Mage::app()->getConfig()->reinit();
         Mage_Core_Model_Resource_Setup::applyAllUpdates();
         Mage_Core_Model_Resource_Setup::applyAllDataUpdates();
     }
     if ($this->_getMaintenanceFlag()) {
         $maintenance_filename = 'maintenance.flag';
         $config = $this->config();
         if (!$this->isWritable() && strlen($config->__get('remote_config')) > 0) {
             $ftpObj = new Mage_Connect_Ftp();
             $ftpObj->connect($config->__get('remote_config'));
             $ftpObj->delete($maintenance_filename);
             $ftpObj->close();
         } else {
             @unlink($this->_getMaintenanceFilePath());
         }
     }
 }
开发者ID:votanlean,项目名称:Magento-Pruebas,代码行数:33,代码来源:Controller.php


注:本文中的Mage_Connect_Ftp类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。