本文整理汇总了PHP中Mage_Connect_Ftp::connect方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Connect_Ftp::connect方法的具体用法?PHP Mage_Connect_Ftp::connect怎么用?PHP Mage_Connect_Ftp::connect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Connect_Ftp
的用法示例。
在下文中一共展示了Mage_Connect_Ftp::connect方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
示例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;
}
示例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);
}
示例4: getRemoteConfig
public function getRemoteConfig($ftpString)
{
$ftpObj = new Mage_Connect_Ftp();
$ftpObj->connect($ftpString);
$cfgFile = self::CONFIG_FILE_NAME;
$wd = $ftpObj->getcwd();
$remoteConfigExists = $ftpObj->fileExists($cfgFile);
$tempConfigFile = tempnam(sys_get_temp_dir(), 'conf_');
if (!$remoteConfigExists) {
$remoteCfg = new Mage_Connect_Config($tempConfigFile);
$remoteCfg->store();
$ftpObj->upload($cfgFile, $tempConfigFile);
} else {
$ftpObj->get($tempConfigFile, $cfgFile);
$remoteCfg = new Mage_Connect_Config($tempConfigFile);
}
$ftpObj->chdir($wd);
return array($remoteCfg, $ftpObj);
}
示例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;
}
示例6: getRemoteConfig
public function getRemoteConfig($ftpString)
{
$ftpObj = new Mage_Connect_Ftp();
$ftpObj->connect($ftpString);
$cfgFile = "connect.cfg";
$wd = $ftpObj->getcwd();
$remoteConfigExists = $ftpObj->fileExists($cfgFile);
$tempConfigFile = uniqid($cfgFile . "_temp");
if (!$remoteConfigExists) {
$remoteCfg = new Mage_Connect_Config($tempConfigFile);
$remoteCfg->store();
$ftpObj->upload($cfgFile, $tempConfigFile);
} else {
$ftpObj->get($tempConfigFile, $cfgFile);
$remoteCfg = new Mage_Connect_Config($tempConfigFile);
}
$ftpObj->chdir($wd);
return array($remoteCfg, $ftpObj);
}
示例7: 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);
}
}
}
示例8: 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());
}
}
}