本文整理汇总了PHP中Varien_Io_File::setAllowCreateFolders方法的典型用法代码示例。如果您正苦于以下问题:PHP Varien_Io_File::setAllowCreateFolders方法的具体用法?PHP Varien_Io_File::setAllowCreateFolders怎么用?PHP Varien_Io_File::setAllowCreateFolders使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Varien_Io_File
的用法示例。
在下文中一共展示了Varien_Io_File::setAllowCreateFolders方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _getVarienIoFileObject
protected function _getVarienIoFileObject()
{
$file = new Varien_Io_File();
$file->setAllowCreateFolders(true);
$file->open(array('path' => Mage::helper('wordpress')->getFileCachePath()));
$file->setAllowCreateFolders(true);
return $file;
}
示例2: __construct
/**
* Sets the filesystem wrapper and starts managing file creation paths according
* to type.
* $args is an array with the following fields:
* 'model': BlackChacal_Prometheus_Model_Extension
* 'extensionName': has the format 'Vendor_ExtensionName'
* 'codepool': 'community'/'local'
* @param $args
*/
public function __construct($args)
{
$this->_filesystem = new Varien_Io_File();
$this->_filesystem->setAllowCreateFolders(true);
if (is_array($args)) {
$this->_model = $args['extensionModel'];
$this->_helper = Mage::helper('blackchacal_prometheus');
$this->_namespace = $this->_model->getNamespace();
$this->_extensionName = $this->_model->getName();
$this->_codepool = $this->_model->getCodepool();
} else {
Mage::log('BlackChacal_Prometheus_Model_Extension_Writer constructor has array argument.', null, $this->_helper->getLogFilename());
Mage::getSingleton('adminhtml/session')->addError('BlackChacal_Prometheus_Model_Extension_Writer constructor has array argument.');
}
}
示例3: regenerate
/**
* regenerate theme css based on appearance settings
*/
public function regenerate()
{
$websites = Mage::app()->getWebsites();
foreach ($websites as $_website) {
$_website_code = $_website->getCode();
foreach ($_website->getStores() as $_store) {
if (!Mage::app()->getStore($_store)->getIsActive()) {
continue;
}
ob_start();
require $this->_css_template_path;
$css = ob_get_clean();
$filename = str_replace(array('%WEBSITE%', '%STORE%'), array($_website_code, $_store->getCode()), $this->_css_file);
try {
$file = new Varien_Io_File();
$file->setAllowCreateFolders(true)->open(array('path' => $this->_css_path));
$file->streamOpen($filename, 'w+');
$file->streamWrite($css);
$file->streamClose();
} catch (Exception $e) {
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('athlete')->__('Css generation error: %s', $this->_css_path . $filename) . '<br/>' . $e->getMessage());
Mage::logException($e);
}
}
}
}
示例4: prepareFeed
/**
* Prepare the feed file and returns its path
*
* @param array $productsData
* @param int $storeId
* @return string
*/
public function prepareFeed(array $productsData, $storeId)
{
$mId = $this->getVendorConfig('merchant_id', $storeId);
$company = $this->getVendorConfig('company', $storeId);
if (!$mId || !$company) {
Mage::throwException(Mage::helper('productfeed')->__('LinkShare Merchant ID and Company Name must be set.'));
}
Varien_Profiler::start('productfeed_' . $this->getVendorCode() . '::' . __FUNCTION__);
$content = implode(self::DELIMITER, array('HDR', $mId, $company, Mage::getModel('core/date')->date('Y-m-d/H:i:s'))) . self::EOL;
foreach ($productsData as $row) {
$content .= $row . self::EOL;
}
$filename = $mId . '_nmerchandis' . Mage::getModel('core/date')->date('Ymd') . '.txt';
$filepath = $this->getFeedStorageDir() . $filename;
try {
$ioAdapter = new Varien_Io_File();
$ioAdapter->setAllowCreateFolders(true);
$ioAdapter->createDestinationDir($this->getFeedStorageDir());
$ioAdapter->cd($this->getFeedStorageDir());
$ioAdapter->streamOpen($filename);
$ioAdapter->streamWrite($content);
Varien_Profiler::stop('productfeed_' . $this->getVendorCode() . '::' . __FUNCTION__);
return $filepath;
} catch (Exception $e) {
Varien_Profiler::stop('productfeed_' . $this->getVendorCode() . '::' . __FUNCTION__);
Mage::throwException(Mage::helper('productfeed')->__('Could not write feed file to path: %s, %s', $filepath, $e->getMessage()));
}
}
示例5: generateCollectionList
/**
* Generates CSV file with product's list according to the collection in the $this->_list
* @return array
*/
public function generateCollectionList($filename)
{
if (!is_null($this->_list)) {
$items = $this->_list->getItems();
if (count($items) > 0) {
$io = new Varien_Io_File();
$path = Mage::getBaseDir('var') . DS . 'export' . DS . 'specialsubscription';
$name = $filename;
// $name=md5(microtime());
$file = $path . DS . $name . '.csv';
$io->setAllowCreateFolders(true);
$io->open(array('path' => $path));
$io->streamOpen($file, 'w+');
$io->streamLock(true);
$io->streamWriteCsv($this->_getCsvHeaders($items));
foreach ($items as $item) {
$io->streamWriteCsv($item->getData());
}
/* return array(
'type' => 'filename',
'value' => $file,
'rm' => false // can delete file after use
);*/
return $file;
}
}
}
示例6: uploadFile
/**
* Upload file to CDN async
*/
public function uploadFile()
{
$adapter = Mage::getModel('mycdn/adapter');
if (!$adapter) {
return;
}
$ioObject = new Varien_Io_File();
$ioObject->setAllowCreateFolders(true);
$ioObject->open(array('path' => $ioObject->dirname($this->getData('filename'))));
if (!$ioObject->fileExists($this->getData('filename'), true)) {
Mage::helper('mycdn')->addLog('[CRON] No file ' . $this->getData('filename'));
$this->delete();
return;
}
//Mage::helper('mycdn')->addLog('[CRON] processing id = ' . $this->getId());
//Mage::helper('mycdn')->addLog($this->getData());
$result = $adapter->uploadFile($this->getData('filename'), $this->getData('uploadname'), $this->getData('content_type'));
if ($result && $this->getData('delete')) {
$ioObject->rm($this->getData('filename'));
Mage::helper('mycdn')->addLog('[DELETE] CRON delete for ' . $this->getData('filename'));
}
if ($result) {
Mage::helper('mycdn')->addLog('[JOB] CRON delete job for ' . $this->getData('filename') . "\n");
$this->delete();
}
}
示例7: createIndexSitemapFile
/**
* Create additional xml index file with links to other xml files (if number of them more than 1)
*/
public function createIndexSitemapFile()
{
if (sizeof($this->filenamesForIndexSitemap) > 1) {
$io = new Varien_Io_File();
$io->setAllowCreateFolders(true);
$io->open(array('path' => $this->getPath()));
$fileToCreate = Mage::helper('ascurl')->insertStringToFilename($this->getSitemapFilename(), '_index');
if ($io->fileExists($fileToCreate) && !$io->isWriteable($fileToCreate)) {
Mage::throwException(Mage::helper('sitemap')->__('File "%s" cannot be saved. Please, make sure the directory "%s" is writeable by web server.', $fileToCreate, $this->getPath()));
}
$io->streamOpen($fileToCreate);
$io->streamWrite('<?xml version="1.0" encoding="UTF-8"?>' . "\n");
$io->streamWrite('<sitemapindex ' . self::URLSET . '>');
$storeId = $this->getStoreId();
$baseUrl = Mage::app()->getStore($storeId)->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
$date = Mage::getSingleton('core/date')->gmtDate('Y-m-d');
$path = $this->getSitemapPath();
$fullPath = preg_replace('/(?<=[^:])\\/{2,}/', '/', $baseUrl . $path);
foreach ($this->filenamesForIndexSitemap as $item) {
$xml = sprintf('<sitemap><loc>%s</loc><lastmod>%s</lastmod></sitemap>', htmlspecialchars($fullPath . $item), $date);
$io->streamWrite($xml);
}
$io->streamWrite('</sitemapindex>');
$io->streamClose();
}
}
示例8: getCSVFile
public function getCSVFile()
{
$data = $this->dataExport;
if ($this->isVersion13) {
$content = '';
foreach ($data as $val) {
$content .= implode(',', $val) . "\r\n";
}
return $content;
} else {
$io = new Varien_Io_File();
$path = Mage::getBaseDir('var') . DS . 'export' . DS;
$name = md5(microtime());
$file = $path . DS . $name . '.csv';
$io->setAllowCreateFolders(true);
$io->open(array('path' => $path));
$io->streamOpen($file, 'w+');
$io->streamLock(true);
// $this->dataExport[0] == csvHeader
$io->streamWriteCsv($data[0]);
unset($data[0]);
//$delimiter = Mage::getSingleton('core/session')->getExportSeperator();
foreach ($data as $val) {
$io->streamWriteCsv($val);
}
return array('type' => 'filename', 'value' => $file, 'rm' => false);
}
}
示例9: _generateStoreCss
protected function _generateStoreCss($type, $storeCode)
{
if (!Mage::app()->getStore($storeCode)->getIsActive()) {
return false;
}
$fileName = $type . '_' . $storeCode . '.css';
$file = Mage::helper('legenda/config')->getGeneratedCssDir() . $fileName;
$templateFile = 'smartwave/legenda/css/' . $type . '.phtml';
Mage::register('legenda_css_generate_store', $storeCode);
try {
$tempalte = Mage::app()->getLayout()->createBlock("core/template")->setData('area', 'frontend')->setTemplate($templateFile)->toHtml();
if (empty($tempalte)) {
throw new Exception(Mage::helper('legenda')->__("Template file is empty or doesn't exist: %s", $templateFile));
return false;
}
$io = new Varien_Io_File();
$io->setAllowCreateFolders(true);
$io->open(array('path' => Mage::helper('legenda/config')->getGeneratedCssDir()));
$io->streamOpen($file, 'w+');
$io->streamLock(true);
$io->streamWrite($tempalte);
$io->streamUnlock();
$io->streamClose();
} catch (Exception $exception) {
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('legenda')->__('Failed generating CSS file: %s in %s', $fileName, Mage::helper('legenda/config')->getGeneratedCssDir()) . '<br/>Message: ' . $exception->getMessage());
Mage::logException($exception);
return false;
}
Mage::unregister('legenda_css_generate_store');
return true;
}
示例10: getCsvData
/**
* Generates CSV file with product's list according to the collection in the $this->_list
* @return array
*/
public function getCsvData()
{
if (!is_null($this->_list)) {
$items = $this->_list->getItems();
if (count($items) > 0) {
$io = new Varien_Io_File();
$path = Mage::getBaseDir('var') . DS . 'export' . DS;
$name = md5(microtime());
$file = $path . DS . $name . '.csv';
$io->setAllowCreateFolders(true);
$io->open(array('path' => $path));
$io->streamOpen($file, 'w+');
$io->streamLock(true);
$headers = $this->_getCsvHeaders($items);
$notAllowedValues = array("currency", "base_grand_total", "base_total_paid", "grand_total", "total_paid");
foreach ($headers as $key => $value) {
if (in_array($value, $notAllowedValues)) {
unset($headers[$key]);
}
}
$io->streamWriteCsv($headers);
foreach ($items as $payment) {
$data = $payment->getData();
unset($data['currency']);
unset($data['base_grand_total']);
unset($data['grand_total']);
unset($data['total_paid']);
unset($data['base_total_paid']);
$io->streamWriteCsv($data);
}
return array('type' => 'filename', 'value' => $file, 'rm' => true);
}
}
}
示例11: _generateStoreCss
protected function _generateStoreCss($storeCode)
{
$store = Mage::app()->getStore($storeCode);
$store_id = $store->getId();
$package_name = Mage::getStoreConfig('design/package/name', $store_id);
$theme = Mage::getStoreConfig('design/theme/defaults', $store_id);
if ($theme == '') {
$theme = 'default';
}
if (!$store->getIsActive()) {
return;
}
$cssFile = Mage::getBaseDir('skin') . DS . 'frontend' . DS . $package_name . DS . $theme . DS . 'themesettings' . DS . 'css' . DS . 'themesettings_' . $storeCode . '.css';
$cssTemplate = 'ves/themesettings/themesettings_styles.phtml';
Mage::register('ves_store', $store);
try {
$cssBlockHtml = Mage::app()->getLayout()->createBlock("core/template")->setData('area', 'frontend')->setTemplate($cssTemplate)->toHtml();
if (empty($cssBlockHtml)) {
throw new Exception(Mage::helper('themesettings')->__("The system has an issue when create css file"));
}
$file = new Varien_Io_File();
$file->setAllowCreateFolders(true);
$file->open(array('path' => Mage::getBaseDir('skin') . DS . 'frontend' . DS . $package_name . DS . $theme . DS . 'themesettings' . DS . 'css'));
$file->streamOpen($cssFile, 'w+', 0777);
$file->streamLock(true);
$file->streamWrite($cssBlockHtml);
$file->streamUnlock();
$file->streamClose();
} catch (Exception $e) {
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('themesettings')->__('The system has an issue when create css file') . '<br/>Message: ' . $e->getMessage());
Mage::logException($e);
}
Mage::unregister('ves_store');
}
示例12: generateStoreCss
protected function generateStoreCss($type, $storeCode)
{
if (!Mage::app()->getStore($storeCode)->getIsActive()) {
return;
}
$str1 = '_' . $storeCode;
$str2 = $type . $str1 . '.css';
$str3 = Mage::helper('mango/cssconfig')->getCssConfigDir() . $str2;
$str4 = 'mango/css/' . $type . '.phtml';
Mage::register('cssgen_store', $storeCode);
try {
$block = Mage::app()->getLayout()->createBlock("core/template")->setData('area', 'frontend')->setTemplate($str4)->toHtml();
if (empty($block)) {
throw new Exception(Mage::helper('mango')->__("Template file is empty or doesn't exist: %s", $str4));
}
$file = new Varien_Io_File();
$file->setAllowCreateFolders(true);
$file->open(array('path' => Mage::helper('mango/cssconfig')->getCssConfigDir()));
$file->streamOpen($str3, 'w+');
$file->streamLock(true);
$file->streamWrite($block);
$file->streamUnlock();
$file->streamClose();
} catch (Exception $e) {
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('mango')->__('Failed generating CSS file: %s in %s', $str2, Mage::helper('mango/cssconfig')->getCssConfigDir()) . '<br/>Message: ' . $e->getMessage());
Mage::logException($e);
}
Mage::unregister('cssgen_store');
}
示例13: _generateStoreCss
protected function _generateStoreCss($design, $storeCode)
{
if (!Mage::app()->getStore($storeCode)->getIsActive()) {
return;
}
$prefix = '_' . $storeCode;
if ($design == 'layout') {
$filename = $design . $prefix . '.css';
} else {
$filename = $design . $prefix . '.less';
}
$filedefault = Mage::helper('dgtyaris/cssgen')->getGeneratedCssDir() . $filename;
$path = 'dgtthemes/dgtyaris/css/' . $design . '.phtml';
Mage::register('cssgen_store', $storeCode);
try {
$block = Mage::app()->getLayout()->createBlock("core/template")->setData('area', 'frontend')->setTemplate($path)->toHtml();
if (empty($block)) {
throw new Exception(Mage::helper('dgtyaris')->__("Template file is empty or doesn't exist: %s", $path));
}
$file = new Varien_Io_File();
$file->setAllowCreateFolders(true);
$file->open(array('path' => Mage::helper('dgtyaris/cssgen')->getGeneratedCssDir()));
$file->streamOpen($filedefault, 'w+');
$file->streamLock(true);
$file->streamWrite($block);
$file->streamUnlock();
$file->streamClose();
} catch (Exception $gener) {
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('dgtyaris')->__('Failed generating CSS file: %s in %s', $filename, Mage::helper('dgtyaris/cssgen')->getGeneratedCssDir()) . '<br/>Message: ' . $gener->getMessage());
Mage::logException($gener);
}
Mage::unregister('cssgen_store');
}
示例14: getCsvFileEnhanced
public function getCsvFileEnhanced()
{
$collectionData = $this->getCollection()->getData();
$this->_isExport = true;
$io = new Varien_Io_File();
$path = Mage::getBaseDir('var') . DS . 'export' . DS;
$name = md5(microtime());
$file = $path . DS . $name . '.csv';
while (file_exists($file)) {
sleep(1);
$name = md5(microtime());
$file = $path . DS . $name . '.csv';
}
$io->setAllowCreateFolders(true);
$io->open(array('path' => $path));
$io->streamOpen($file, 'w+');
$io->streamLock(true);
if ($this->_columns) {
$io->streamWriteCsv($this->_columns);
}
foreach ($collectionData as $item) {
if ($this->_removeIndexes && is_array($this->_removeIndexes)) {
foreach ($this->_removeIndexes as $index) {
unset($item[$index]);
}
}
$io->streamWriteCsv($item);
}
$io->streamUnlock();
$io->streamClose();
return array('type' => 'filename', 'value' => $file, 'rm' => true);
}
示例15: __construct
/**
* Set base dir
*/
public function __construct()
{
$this->_baseDir = Mage::getBaseDir('var') . DS . 'connect';
$io = new Varien_Io_File();
$io->setAllowCreateFolders(true)->createDestinationDir($this->_baseDir);
$this->addTargetDir($this->_baseDir);
}