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


PHP Varien_Io_File::streamLock方法代码示例

本文整理汇总了PHP中Varien_Io_File::streamLock方法的典型用法代码示例。如果您正苦于以下问题:PHP Varien_Io_File::streamLock方法的具体用法?PHP Varien_Io_File::streamLock怎么用?PHP Varien_Io_File::streamLock使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Varien_Io_File的用法示例。


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

示例1: _printList

 private function _printList($cards, $path)
 {
     try {
         $io = new Varien_Io_File();
         $fullPath = Mage::getBaseDir() . $path;
         $parts = pathinfo($fullPath);
         if (!isset($parts['extension']) || strtolower($parts['extension']) != 'csv') {
             Mage::throwException('Error in file extension. Only *.csv files are supported');
         }
         $delimiter = ';';
         $enclosure = '"';
         $io->open(array('path' => $parts['dirname']));
         $io->streamOpen($fullPath, 'w+');
         $io->streamLock(true);
         $header = array('card_id' => 'Gift Card Code', 'amount' => 'Card Amount');
         $io->streamWriteCsv($header, $delimiter, $enclosure);
         $content = array();
         foreach ($cards as $card) {
             $content['card_id'] = $card['code'];
             $content['amount'] = $card['amount'];
             $io->streamWriteCsv($content, $delimiter, $enclosure);
         }
         $io->streamUnlock();
         $io->streamClose();
         $list = Mage::getModel('giftcards/cardslist')->load($fullPath, 'file_path');
         $list->setFilePath($fullPath)->save();
     } catch (Mage_Core_Exception $e) {
         Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
     } catch (Exception $e) {
         Mage::getSingleton('adminhtml/session')->addError(Mage::helper('giftcards')->__('An error occurred while save cards list.'));
     }
 }
开发者ID:AleksNesh,项目名称:pandora,代码行数:32,代码来源:CardscreateController.php

示例2: _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');
 }
开发者ID:dragontheme1235,项目名称:project-1,代码行数:33,代码来源:Generator.php

示例3: _generateStoreCss

 protected function _generateStoreCss($x0b, $x0d)
 {
     if (!Mage::app()->getStore($x0d)->getIsActive()) {
         return;
     }
     $x11 = '_' . $x0d;
     $x12 = $x0b . $x11 . '.css';
     $x13 = Mage::helper('ultimo/cssgen')->getGeneratedCssDir() . $x12;
     $x14 = Mage::helper('ultimo/cssgen')->getTemplatePath() . $x0b . '.phtml';
     Mage::register('cssgen_store', $x0d);
     try {
         $x15 = Mage::app()->getLayout()->createBlock("core/template")->setData('area', 'frontend')->setTemplate($x14)->toHtml();
         if (empty($x15)) {
             throw new Exception(Mage::helper('ultimo')->__("Template file is empty or doesn't exist: %s", $x14));
         }
         $x16 = new Varien_Io_File();
         $x16->setAllowCreateFolders(true);
         $x16->open(array('path' => Mage::helper('ultimo/cssgen')->getGeneratedCssDir()));
         $x16->streamOpen($x13, 'w+', 0777);
         $x16->streamLock(true);
         $x16->streamWrite($x15);
         $x16->streamUnlock();
         $x16->streamClose();
     } catch (Exception $x17) {
         Mage::getSingleton('adminhtml/session')->addError(Mage::helper('ultimo')->__('Failed generating CSS file: %s in %s', $x12, Mage::helper('ultimo/cssgen')->getGeneratedCssDir()) . '<br/>Message: ' . $x17->getMessage());
         Mage::logException($x17);
     }
     Mage::unregister('cssgen_store');
 }
开发者ID:klord9x,项目名称:project-nam1,代码行数:29,代码来源:Generator.php

示例4: 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;
         }
     }
 }
开发者ID:Ranjanivraman,项目名称:repository-1,代码行数:31,代码来源:Csv.php

示例5: 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);
 }
开发者ID:programmerrahul,项目名称:vastecom,代码行数:32,代码来源:Abstract.php

示例6: import

 /**
  * @$forceCreation true overwrites existing entities with the new values
  */
 public function import($forceCreation = false)
 {
     if (is_null($this->_entity)) {
         throw Mage::exception('Please specify a valid entity.');
     }
     if (!file_exists($this->_importFile)) {
         throw Mage::exception('Please specify a valid csv file.');
     }
     if (is_null($this->_storeId)) {
         throw Mage::exception('Please specify a valid store.');
     }
     $io = new Varien_Io_File();
     $io->streamOpen($this->_importFile, 'r');
     $io->streamLock(true);
     $firstLine = true;
     while (false !== ($line = $io->streamReadCsv())) {
         if ($firstLine) {
             $firstLine = false;
             $this->_headerColumns = $line;
             continue;
         }
         $data = array();
         foreach ($this->_headerColumns as $key => $val) {
             $data[$val] = $line[$key];
         }
         $this->_importEntity($data, $forceCreation);
     }
 }
开发者ID:aayushKhandpur,项目名称:aayush-renting,代码行数:31,代码来源:Import.php

示例7: getFile

 public function getFile($downloadName)
 {
     Varien_Profiler::start('cdn_download_file_' . $downloadName);
     $adapter = $this->getAdapter();
     if ($adapter) {
         $fileName = Mage::helper('mycdn')->getRelativeFile($downloadName);
         $image = $adapter->downloadFile($fileName);
         if ($image) {
             $bn = new Zend_Filter_BaseName();
             $image_name = $bn->filter($downloadName);
             $dn = new Zend_Filter_Dir();
             $image_path = $dn->filter($downloadName);
             $file = new Varien_Io_File();
             $file->setAllowCreateFolders(true);
             $file->open(['path' => $image_path]);
             $file->streamOpen($image_name);
             $file->streamLock(true);
             $file->streamWrite($image);
             $file->streamUnlock();
             $file->streamClose();
             Mage::helper('mycdn')->addLog('[DOWNLOADED] File downloaded to ' . $downloadName);
             Varien_Profiler::stop('cdn_download_file_' . $downloadName);
             //saving to cache
             Mage::helper('mycdn')->savePathInCache($fileName, $this->getUrl($fileName));
             return true;
         } else {
             Mage::helper('mycdn')->addLog('[NOT DOWNLOADED] File not downloaded to ' . $downloadName);
         }
     }
     Varien_Profiler::stop('cdn_download_file_' . $downloadName);
     return false;
 }
开发者ID:mygento,项目名称:cdn,代码行数:32,代码来源:Adapter.php

示例8: importAction

 public function importAction()
 {
     try {
         $productId = $this->getRequest()->getParam('id');
         $fileName = $this->getRequest()->getParam('Filename');
         $path = Mage::getBaseDir('var') . DS . 'import' . DS;
         $uploader = new Mage_Core_Model_File_Uploader('file');
         $uploader->setAllowedExtensions(array('csv'));
         $uploader->setAllowRenameFiles(false);
         $uploader->setFilesDispersion(false);
         $result = $uploader->save($path, $fileName);
         $io = new Varien_Io_File();
         $io->open(array('path' => $path));
         $io->streamOpen($path . $fileName, 'r');
         $io->streamLock(true);
         while ($data = $io->streamReadCsv(';', '"')) {
             if ($data[0]) {
                 $model = Mage::getModel('giftcards/pregenerated')->load($data[0], 'card_code');
                 if ($model->getId()) {
                     continue;
                 }
                 $model->setCardCode($data[0]);
                 $model->setCardStatus(1);
                 $model->setProductId($productId);
                 $model->save();
             } else {
                 continue;
             }
         }
     } catch (Exception $e) {
         $result = array('error' => $e->getMessage(), 'errorcode' => $e->getCode());
     }
     $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
 }
开发者ID:enjoy2000,项目名称:gemz,代码行数:34,代码来源:ProductController.php

示例9: getVendorCommision

 /**
  * Generates CSV file with product's list according to the collection in the $this->_list
  * @return array
  */
 public function getVendorCommision()
 {
     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);
             $io->streamWriteCsv($headers);
             foreach ($items as $payment) {
                 $data = array();
                 $data = $payment->getData();
                 $datafinal = array();
                 foreach ($data as $key => $datavalue) {
                     $val = strip_tags($datavalue);
                     $datafinal[$key] = $val;
                 }
                 $io->streamWriteCsv($datafinal);
             }
             return array('type' => 'filename', 'value' => $file, 'rm' => true);
         }
     }
 }
开发者ID:sixg,项目名称:mkAnagh,代码行数:33,代码来源:Payment.php

示例10: _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;
 }
开发者ID:EagleSH,项目名称:besttoy,代码行数:31,代码来源:Generator.php

示例11: 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);
         }
     }
 }
开发者ID:sixg,项目名称:mkAnagh,代码行数:38,代码来源:Order.php

示例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');
 }
开发者ID:perseusl,项目名称:kingdavid,代码行数:29,代码来源:Generator.php

示例13: generateStoreCss

 public function generateStoreCss($x0c, $x0e = '')
 {
     $x12 = $x0e ? '_' . $x0e : '';
     $x13 = '_' . $x0c . $x12 . '.css';
     $x14 = $this->_cssDirPath . $x13;
     $x15 = 'infortis/ultimo/css/' . $x0c . '.phtml';
     Mage::register('cssgen_store', $x0e);
     try {
         $x16 = Mage::app()->getLayout()->createBlock("core/template")->setData('area', 'frontend')->setTemplate($x15)->toHtml();
         if (empty($x16)) {
             throw new Exception(Mage::helper('ultimo')->__("Template file is empty or doesn't exist: %s", $x15));
         }
         $x17 = new Varien_Io_File();
         $x17->setAllowCreateFolders(true);
         $x17->open(array('path' => $this->_cssDirPath));
         $x17->streamOpen($x14, 'w+');
         $x17->streamLock(true);
         $x17->streamWrite($x16);
         $x17->streamUnlock();
         $x17->streamClose();
         Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('ultimo')->__('CSS file %s has been refreshed', $x13));
     } catch (Exception $x18) {
         Mage::getSingleton('adminhtml/session')->addError(Mage::helper('ultimo')->__('Failed refreshing css file %s in %s', $x13, Mage::helper('ultimo')->getGeneratedCssPath()) . '<br/>Message: ' . $x18->getMessage());
         Mage::logException($x18);
     }
     Mage::unregister('cssgen_store');
 }
开发者ID:xiaoguizhidao,项目名称:bilderrahmen,代码行数:27,代码来源:Generate.php

示例14: massConfigGenAction

 public function massConfigGenAction()
 {
     $configArray = array();
     try {
         $ids = $this->getRequest()->getPost('ids', array());
         foreach ($ids as $id) {
             $model = Mage::getModel("configgen/config")->load($id);
             $configArray[] = $model->getData();
         }
         $output = $this->getLayout()->createBlock('core/template')->setTemplate('proxiblue_configgen.phtml')->setConfigItems($configArray);
         $io = new Varien_Io_File();
         $path = Mage::getBaseDir('var') . DS . 'export' . DS;
         $name = md5(microtime());
         $file = $path . DS . $name . '.php';
         $io->setAllowCreateFolders(true);
         $io->open(array('path' => $path));
         $io->streamOpen($file, 'w+');
         $io->streamLock(true);
         $io->streamWrite($output->toHtml());
         $io->streamUnlock();
         $io->streamClose();
         $this->_prepareDownloadResponse('proxiblue_generated_config.php', array('type' => 'filename', 'value' => $file, 'rm' => true));
         Mage::getSingleton("adminhtml/session")->addSuccess(Mage::helper("adminhtml")->__("Config was generated"));
     } catch (Exception $e) {
         Mage::getSingleton("adminhtml/session")->addError($e->getMessage());
     }
     $this->_redirect('*/*/');
 }
开发者ID:jpujari,项目名称:ConfigGen,代码行数:28,代码来源:ConfigController.php

示例15: cssgenerate

 /**
  * After any system config is saved
  */
 public function cssgenerate()
 {
     $section = Mage::app()->getRequest()->getParam('section');
     if ($section == 'themeoptions') {
         $store_ids = array();
         if (Mage::app()->getRequest()->getParam('store') && Mage::app()->getRequest()->getParam('website')) {
             $store_ids[] = Mage::getModel("core/store")->load(Mage::app()->getRequest()->getParam('store'))->getStore_id();
         } elseif (Mage::app()->getRequest()->getParam('website')) {
             $store_ids = Mage::getModel('core/website')->load(Mage::app()->getRequest()->getParam('website'))->getstoreIds();
         } else {
             foreach (Mage::app()->getWebsites() as $website) {
                 foreach ($website->getGroups() as $group) {
                     $stores = $group->getStores();
                     foreach ($stores as $store) {
                         $store_ids[] = $store->getId();
                     }
                 }
             }
         }
         foreach ($store_ids as $store_id) {
             $this->setLocation($store_id);
             if (!$this->getConfig('reset_css', $store_id)) {
                 $css = 'h1,h2,h3,h4,h5,h6{';
                 if ($this->getConfig('font_main', $store_id)) {
                     $css .= 'font-family:' . str_replace("+", " ", $this->getConfig('font', $store_id)) . ';font-weight:' . $this->getConfig('font_weight', $store_id) . ';';
                 }
                 $css .= 'color:' . $this->getConfig('title_color', $store_id) . '}';
                 $image_bg = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN) . 'frontend/' . $this->dir_store . '/images/pattern/' . $this->getConfig('bg_pattern', $store_id) . '.png';
                 $css .= 'body{';
                 if ($this->getConfig('font_content_main', $store_id)) {
                     $css .= 'font-family:' . str_replace("+", " ", $this->getConfig('font_content', $store_id)) . ';font-weight:' . $this->getConfig('font_contentweight', $store_id) . ';background-color:' . $this->getConfig('bg_color', $store_id) . ';';
                 }
                 $css .= 'color:' . $this->getConfig('text_color', $store_id) . ';';
                 if ($this->getConfig('bg_pattern', $store_id)) {
                     $css .= 'background-image:url("' . $image_bg . '")';
                 }
                 $css .= '}';
                 $css .= 'a{color:' . $this->getConfig('link_color', $store_id) . '}';
                 $css .= 'a:hover{color:' . $this->getConfig('link_hover_color', $store_id) . '}';
             } else {
                 $css = '';
             }
             try {
                 $fh = new Varien_Io_File();
                 $fh->setAllowCreateFolders(true);
                 $fh->open(array('path' => $this->dirPath));
                 $fh->streamOpen($this->filePath, 'w+');
                 $fh->streamLock(true);
                 $fh->streamWrite($css);
                 $fh->streamUnlock();
                 $fh->streamClose();
             } catch (Exception $e) {
                 Mage::getSingleton('adminhtml/session')->addError(Mage::helper('themeoptions')->__('Failed creation custom css rules. ' . $e->getMessage()));
             }
         }
     }
 }
开发者ID:xiaoguizhidao,项目名称:mozar,代码行数:60,代码来源:Observer.php


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