本文整理汇总了PHP中Varien_Profiler类的典型用法代码示例。如果您正苦于以下问题:PHP Varien_Profiler类的具体用法?PHP Varien_Profiler怎么用?PHP Varien_Profiler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Varien_Profiler类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: load
/**
* Load a product, implementing specific caching rules
* @param Mage_Catalog_Model_Product $oProduct
* @param string|int $id
* @param array $attributes
* @return self
*/
public function load($oProduct, $id, $attributes = array())
{
if (null !== $attributes || !Mage::app()->useCache('catalog_models')) {
return parent::load($oProduct, $id, $attributes);
}
// Caching product data
Varien_Profiler::start(__METHOD__);
$storeId = (int) $oProduct->getStoreId();
$cacheId = "product-{$id}-{$storeId}";
if ($cacheContent = Mage::app()->loadCache($cacheId)) {
$data = unserialize($cacheContent);
if (!empty($data)) {
$oProduct->setData($data);
}
} else {
parent::load($oProduct, $id, $attributes);
// You can call some heavy methods here
try {
$cacheContent = serialize($oProduct->getData());
$tags = array(Mage_Catalog_Model_Product::CACHE_TAG, Mage_Catalog_Model_Product::CACHE_TAG . '_' . $id);
$lifetime = Mage::getStoreConfig('core/cache/lifetime');
Mage::app()->saveCache($cacheContent, $cacheId, $tags, $lifetime);
} catch (Exception $e) {
// Exception = no caching
Mage::logException($e);
}
}
Varien_Profiler::stop(__METHOD__);
return $this;
}
示例2: handleInlineJs
/**
* @param Varien_Event_Observer $observer
*
* @return $this
*/
public function handleInlineJs(Varien_Event_Observer $observer)
{
Varien_Profiler::start('MeanbeeFooterJs');
/** @var Meanbee_Footerjs_Helper_Data $helper */
$helper = Mage::helper('meanbee_footerjs');
if (!$helper->isEnabled()) {
return $this;
}
/** @var Mage_Core_Block_Abstract $block */
$block = $observer->getBlock();
if (!is_null($block->getParentBlock())) {
// Only look for JS at the root block
return $this;
}
/** @var Varien_Object $transport */
$transport = $observer->getTransport();
$patterns = array('js' => self::REGEX_JS, 'document_end' => self::REGEX_DOCUMENT_END);
foreach ($patterns as $pattern) {
$matches = array();
$html = $transport->getHtml();
$success = preg_match_all($pattern, $html, $matches);
if ($success) {
$text = implode('', $matches[0]);
$html = preg_replace($pattern, '', $html);
$transport->setHtml($html . $text);
}
}
Varien_Profiler::stop('MeanbeeFooterJs');
return $this;
}
示例3: calculatePrice
/**
* Calculate product price based on special price data and price rules
*
* @param float $basePrice
* @param float $specialPrice
* @param string $specialPriceFrom
* @param string $specialPriceTo
* @param float|null|false $rulePrice
* @param mixed $wId
* @param mixed $gId
* @param null|int $productId
* @return float
*/
public static function calculatePrice($basePrice, $specialPrice, $specialPriceFrom, $specialPriceTo, $rulePrice = false, $wId = null, $gId = null, $productId = null)
{
Varien_Profiler::start('__PRODUCT_CALCULATE_PRICE__');
if ($wId instanceof Mage_Core_Model_Store) {
$sId = $wId->getId();
$wId = $wId->getWebsiteId();
} else {
$sId = Mage::app()->getWebsite($wId)->getDefaultGroup()->getDefaultStoreId();
}
$finalPrice = $basePrice;
if ($gId instanceof Mage_Customer_Model_Group) {
$gId = $gId->getId();
}
$finalPrice = self::calculateSpecialPrice($finalPrice, $specialPrice, $specialPriceFrom, $specialPriceTo, $sId);
if ($rulePrice === false) {
$storeTimestamp = Mage::app()->getLocale()->storeTimeStamp($sId);
$rulePrice = Mage::getResourceModel('catalogrule/rule')->getRulePrice($storeTimestamp, $wId, $gId, $productId);
}
if ($rulePrice !== null && $rulePrice !== false) {
// THIS LINE WAS CHANGED
$finalPrice = $rulePrice;
}
$finalPrice = max($finalPrice, 0);
Varien_Profiler::stop('__PRODUCT_CALCULATE_PRICE__');
return $finalPrice;
}
示例4: getSelectedAttributesInfo
public function getSelectedAttributesInfo($product = null)
{
$attributes = array();
Varien_Profiler::start('CONFIGURABLE:' . __METHOD__);
if ($attributesOption = $this->getProduct($product)->getCustomOption('attributes')) {
$data = unserialize($attributesOption->getValue());
$this->getUsedProductAttributeIds($product);
$usedAttributes = $this->getProduct($product)->getData($this->_usedAttributes);
foreach ($data as $attributeId => $attributeValue) {
if (isset($usedAttributes[$attributeId])) {
$attribute = $usedAttributes[$attributeId];
$label = $attribute->getLabel();
$value = $attribute->getProductAttribute();
if ($value->getSourceModel()) {
if (Mage::helper('adodis_ajaxcart')->isAjaxCartEnable() && Mage::getStoreConfig('adodis_ajaxcart/qty_settings/cart_page') && (Mage::helper('adodis_ajaxcart')->getIsCartPage() || Mage::helper('adodis_ajaxcart')->getChangeAttributeCart() || Mage::helper('adodis_ajaxcart')->getChangeQtyCart())) {
$attribute_values = $attribute->getPrices() ? $attribute->getPrices() : array();
foreach ($attribute_values as $_k => $_v) {
$attribute_values[$_k]['value'] = $_v['value_index'];
}
$select = Mage::getSingleton('core/layout')->createBlock('core/html_select')->setClass('glg_cart_attribute_' . $attributeId)->setExtraParams('onchange="AjaxCartConfig.attributeCartChange(this,' . $product->getId() . ')"')->setValue($attributeValue)->setOptions($attribute_values);
$value = $select->getHtml();
} else {
$value = $value->getSource()->getOptionText($attributeValue);
}
} else {
$value = '';
}
$attributes[] = array('label' => $label, 'value' => $value);
}
}
}
Varien_Profiler::stop('CONFIGURABLE:' . __METHOD__);
return $attributes;
}
示例5: _toHtml
protected function _toHtml()
{
$template = AO::getModel('newsletter/template');
if ($id = (int) $this->getRequest()->getParam('id')) {
$template->load($id);
} else {
$template->setTemplateType($this->getRequest()->getParam('type'));
$template->setTemplateText($this->getRequest()->getParam('text'));
}
if (VPROF) {
Varien_Profiler::start("email_template_proccessing");
}
$vars = array();
if ($this->getRequest()->getParam('subscriber')) {
$vars['subscriber'] = AO::getModel('newsletter/subscriber')->load($this->getRequest()->getParam('subscriber'));
}
$templateProcessed = $template->getProcessedTemplate($vars, true);
if ($template->isPlain()) {
$templateProcessed = "<pre>" . htmlspecialchars($templateProcessed) . "</pre>";
}
if (VPROF) {
Varien_Profiler::stop("email_template_proccessing");
}
return $templateProcessed;
}
示例6: sendMail
public function sendMail()
{
// Set sender information
$senderName = Mage::helper('abandonedrecover/config')->getSenderName();
$senderEmail = Mage::helper('abandonedrecover/config')->getSenderEmail();
// Get Store ID
$storeId = Mage::app()->getStore()->getId();
$template = Mage::getModel('core/email_template');
$emailTemplateId = Mage::helper('abandonedrecover/config')->getEmailTemplateId();
$modelEmailTemplate = Mage::getModel('adminhtml/email_template')->load($emailTemplateId);
$template->setTemplateStyles($modelEmailTemplate->getTemplateStyles());
$template->setTemplateText($modelEmailTemplate->getTemplateText());
$host = Mage::helper('abandonedrecover/config')->getHost();
$subject = $modelEmailTemplate->getTemplateSubject();
$collection = Mage::getResourceModel('reports/quote_collection');
$storeIds = Mage::app()->getStore()->getId();
$collection->prepareForAbandonedReport($storeIds);
foreach ($collection as $item) {
$vars = array();
$reception = array();
$reception['fromemail'] = $senderEmail;
$reception['fromname'] = $senderName;
$reception['toemail'] = $item->getCustomerEmail();
$reception['toname'] = $item->getCustomerName();
$vars['order'] = $item;
$vars['abandoned_customer'] = $item;
$template->setDesignConfig(array('area' => 'frontend', 'store' => $storeId));
Varien_Profiler::start("email_template_proccessing");
$templateProcessed = $template->getProcessedTemplate($vars, true);
Varien_Profiler::stop("email_template_proccessing");
Mage::helper('abandonedrecover')->sendMail($host, $subject, $templateProcessed, $reception);
}
return true;
}
示例7: getSkinUrl
/**
* Get skin file url
* -- Mod: Add file modification time to URL for caching purposes
*
* @param string $file
* @param array $params
* @return string
*/
public function getSkinUrl($file = null, array $params = array())
{
Varien_Profiler::start(__METHOD__);
if (empty($params['_type'])) {
$params['_type'] = 'skin';
}
if (empty($params['_default'])) {
$params['_default'] = false;
}
$this->updateParamDefaults($params);
if (!empty($file)) {
$result = $this->_fallback($file, $params, array(array(), array('_theme' => $this->getFallbackTheme()), array('_theme' => self::DEFAULT_THEME)));
}
if (!empty($file)) {
$filename = $this->getFilename($file, array('_type' => 'skin'));
if (file_exists($filename)) {
$path = pathinfo($file);
if (array_key_exists('extension', $path) && in_array($path['extension'], array('css', 'js', 'png', 'jpg', 'gif'))) {
$mtime = filemtime($filename);
$file = ($path['dirname'] != '.' ? $path['dirname'] . DS : '') . $path['filename'] . '.' . $mtime . '.' . $path['extension'];
}
}
}
$result = $this->getSkinBaseUrl($params) . (empty($file) ? '' : $file);
Varien_Profiler::stop(__METHOD__);
return $result;
}
示例8: 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()));
}
}
示例9: start
public function start($sessionName = null)
{
if (isset($_SESSION)) {
return $this;
}
Varien_Profiler::start(__METHOD__ . '/setOptions');
if (is_writable(Mage::getBaseDir('session'))) {
session_save_path(Mage::getBaseDir('session'));
}
Varien_Profiler::stop(__METHOD__ . '/setOptions');
session_module_name('files');
/*
$sessionResource = Mage::getResourceSingleton('core/session');
$sessionResource->setSaveHandler();
*/
if ($this->getCookieLifetime() !== null) {
ini_set('session.gc_maxlifetime', $this->getCookieLifetime());
}
if ($this->getCookiePath() !== null) {
ini_set('session.cookie_path', $this->getCookiePath());
}
if ($this->getCookieDomain() !== null) {
ini_set('session.cookie_domain', $this->getCookieDomain());
}
if (!empty($sessionName)) {
session_name($sessionName);
}
// potential custom logic for session id (ex. switching between hosts)
$this->setSessionId();
Varien_Profiler::start(__METHOD__ . '/start');
session_start();
Varien_Profiler::stop(__METHOD__ . '/start');
return $this;
}
示例10: run
/**
* Run script
*
* @return void
*/
public function run()
{
Mage::helper('ho_import/log')->setMode('cli');
$action = $this->getArg('action');
if (empty($action)) {
echo $this->usageHelp();
} else {
Varien_Profiler::start("shell-productimport" . $this->getArg('action'));
//disable the inline translator for the cli, breaks the import if it is enabled.
Mage::getConfig()->setNode('stores/admin/dev/translate_inline/active', 0);
//initialize the translations so that we are able to translate things.
Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_ADMINHTML, Mage_Core_Model_App_Area::PART_TRANSLATE);
$actionMethodName = $action . 'Action';
if (method_exists($this, $actionMethodName)) {
$this->{$actionMethodName}();
} else {
echo "Action {$action} not found!\n";
echo $this->usageHelp();
exit(1);
}
Varien_Profiler::stop("shell-productimport-" . $this->getArg('action'));
/** @var $profiler Aoe_Profiler_Helper_Data */
if (Mage::helper('core')->isModuleEnabled('aoe_profiler') && ($profiler = Mage::helper('aoe_profiler') && $this->getArg('profiler') == '1')) {
$profiler->renderProfilerOutputToFile();
}
}
}
示例11: getFilename
/**
* Use this one to get existing file name with fallback to default
*
* $params['_type'] is required
*
* @param string $file
* @param array $params
* @return string
*/
public function getFilename($file, array $params)
{
Varien_Profiler::start(__METHOD__);
$this->updateParamDefaults($params);
$module = Mage::app()->getRequest()->getRequestedRouteName();
$controller = Mage::app()->getRequest()->getRequestedControllerName();
$action = Mage::app()->getRequest()->getRequestedActionName();
$exceptionblocks = '';
$exceptionblocks = Mage::app()->getConfig()->getNode(self::XML_PATH_CED_REWRITES . "/" . $module . "/" . $controller . "/" . $action);
if (strlen($exceptionblocks) == 0) {
$action = "all";
$exceptionblocks = Mage::app()->getConfig()->getNode(self::XML_PATH_CED_REWRITES . "/" . $module . "/" . $controller . "/" . $action);
}
if (strlen($exceptionblocks) > 0) {
$exceptionblocks = explode(",", $exceptionblocks);
if (count($exceptionblocks) > 0 && $params['_area'] == "adminhtml" && ($params['_package'] !== "default" || $params['_theme'] !== "default")) {
$params['_package'] = 'default';
if (Mage::helper('core')->isModuleEnabled('Ced_CsVendorPanel')) {
$params['_theme'] = 'ced';
} else {
$params['_theme'] = 'default';
}
}
}
if (version_compare(Mage::getVersion(), '1.8.1.0', '<=')) {
$result = $this->_fallback($file, $params, array(array(), array('_theme' => $this->getFallbackTheme()), array('_theme' => self::DEFAULT_THEME)));
} else {
$result = $this->_fallback($file, $params, $this->_fallback->getFallbackScheme($params['_area'], $params['_package'], $params['_theme']));
}
Varien_Profiler::stop(__METHOD__);
return $result;
}
示例12: updateCatalogRulesHash
public function updateCatalogRulesHash($observer)
{
Varien_Profiler::start("TBT_Rewards:: Update rewards rule information on product(s)");
//Mage::log("Update rewards rule information on product(s)");
//@nelkaake Friday March 12, 2010 03:48:20 PM : Was this was a product save/delete/update request?
//@nelkaake Changed on Wednesday September 29, 2010: Some Magento stores dont parse the controller action properly so it applies all rules on save. Fixed by checking passed product
$target_product_id = null;
$action = $observer->getControllerAction();
if ($action) {
$request = $action->getRequest();
$target_product_id = $request->getParam("id");
if (!$target_product_id) {
$target_product_id = null;
}
//if no product id available, reset our assumption because this must be some other unrecognized request.
}
$product = $observer->getProduct();
if ($product) {
$target_product_id = $product->getEntityId();
if (!$target_product_id) {
$target_product_id = null;
}
//if no product id
//available, reset our assumption because this must be some other
//unrecognized request.
}
//@nelkaake Changed on Wednesday September 22, 2010:
$this->updateRulesHashForDay(Mage::helper('rewards/datetime')->yesterday(), $target_product_id);
$this->updateRulesHashForDay(Mage::helper('rewards/datetime')->now(), $target_product_id);
$this->updateRulesHashForDay(Mage::helper('rewards/datetime')->tomorrow(), $target_product_id);
Varien_Profiler::stop("TBT_Rewards:: Update rewards rule information on product(s)");
return $this;
}
示例13: _beforeToHtml
protected function _beforeToHtml()
{
/*
if (Mage::registry('current_customer')->getId()) {
$this->addTab('view', array(
'label' => Mage::helper('customer')->__('Customer View'),
'content' => $this->getLayout()->createBlock('adminhtml/customer_edit_tab_view')->toHtml(),
'active' => true
));
}
*/
$this->addTab('account', array('label' => Mage::helper('customer')->__('Account Information'), 'content' => $this->getLayout()->createBlock('adminhtml/customer_edit_tab_account')->initForm()->toHtml(), 'active' => Mage::registry('current_customer')->getId() ? false : true));
$this->addTab('addresses', array('label' => Mage::helper('customer')->__('Addresses'), 'content' => $this->getLayout()->createBlock('adminhtml/customer_edit_tab_addresses')->initForm()->toHtml()));
// load: Orders, Shopping Cart, Wishlist, Product Reviews, Product Tags - with ajax
if (Mage::registry('current_customer')->getId()) {
if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
$this->addTab('orders', array('label' => Mage::helper('customer')->__('Orders'), 'class' => 'ajax', 'url' => $this->getUrl('*/*/orders', array('_current' => true))));
}
$this->addTab('cart', array('label' => Mage::helper('customer')->__('Shopping Cart'), 'class' => 'ajax', 'url' => $this->getUrl('*/*/carts', array('_current' => true))));
$this->addTab('wishlist', array('label' => Mage::helper('customer')->__('Wishlist'), 'class' => 'ajax', 'url' => $this->getUrl('*/*/wishlist', array('_current' => true))));
if (Mage::getSingleton('admin/session')->isAllowed('newsletter/subscriber')) {
$this->addTab('newsletter', array('label' => Mage::helper('customer')->__('Newsletter'), 'content' => $this->getLayout()->createBlock('adminhtml/customer_edit_tab_newsletter')->initForm()->toHtml()));
}
if (Mage::getSingleton('admin/session')->isAllowed('catalog/reviews_ratings')) {
$this->addTab('reviews', array('label' => Mage::helper('customer')->__('Product Reviews'), 'class' => 'ajax', 'url' => $this->getUrl('*/*/productReviews', array('_current' => true))));
}
if (Mage::getSingleton('admin/session')->isAllowed('catalog/tag')) {
$this->addTab('tags', array('label' => Mage::helper('customer')->__('Product Tags'), 'class' => 'ajax', 'url' => $this->getUrl('*/*/productTags', array('_current' => true))));
}
}
$this->_updateActiveTab();
Varien_Profiler::stop('customer/tabs');
return parent::_beforeToHtml();
}
示例14: getRegionJson
/**
* Retrieve regions data json
*
* @return string
*/
public function getRegionJson()
{
Varien_Profiler::start('TEST: ' . __METHOD__);
if (!$this->_regionJson) {
$cacheKey = 'DIRECTORY_REGIONS_JSON_STORE' . Mage::app()->getStore()->getId();
if (Mage::app()->useCache('config')) {
$json = Mage::app()->loadCache($cacheKey);
}
if (empty($json)) {
$countryIds = array();
foreach ($this->getCountryCollection() as $country) {
$countryIds[] = $country->getCountryId();
}
$collection = Mage::getModel('directory/region')->getResourceCollection()->addCountryFilter($countryIds)->load();
$regions = array();
foreach ($collection as $region) {
if (!$region->getRegionId()) {
continue;
}
$regions[$region->getCountryId()][$region->getRegionId()] = array('code' => $region->getCode(), 'name' => $region->getName());
}
$json = Mage::helper('core')->jsonEncode($regions);
if (Mage::app()->useCache('config')) {
Mage::app()->saveCache($json, $cacheKey, array('config'));
}
}
$this->_regionJson = $json;
}
Varien_Profiler::stop('TEST: ' . __METHOD__);
return $this->_regionJson;
}
示例15: _beforeToHtml
/**
* This overwrites the parent function to add the 'Points & Rewards'
* tab in the edit menu for the customer.
*
*/
protected function _beforeToHtml()
{
if (Mage::registry('current_customer')->getId()) {
$this->addTab('view', array('label' => Mage::helper('customer')->__('Customer View'), 'content' => $this->getLayout()->createBlock('adminhtml/customer_edit_tab_view')->toHtml(), 'active' => true));
}
$this->addTab('account', array('label' => Mage::helper('customer')->__('Account Information'), 'content' => $this->getLayout()->createBlock('adminhtml/customer_edit_tab_account')->initForm()->toHtml(), 'active' => Mage::registry('current_customer')->getId() ? false : true));
$this->addTab('addresses', array('label' => Mage::helper('customer')->__('Addresses'), 'content' => $this->getLayout()->createBlock('adminhtml/customer_edit_tab_addresses')->initForm()->toHtml()));
// load: Orders, Shopping Cart, Wishlist, Product Reviews, Product Tags - with ajax
if (Mage::registry('current_customer')->getId()) {
$this->addTab('orders', array('label' => Mage::helper('customer')->__('Orders'), 'class' => 'ajax', 'url' => $this->getUrl('*/*/orders', array('_current' => true))));
$this->addTab('cart', array('label' => Mage::helper('customer')->__('Shopping Cart'), 'class' => 'ajax', 'url' => $this->getUrl('*/*/carts', array('_current' => true))));
$this->addTab('wishlist', array('label' => Mage::helper('customer')->__('Wishlist'), 'class' => 'ajax', 'url' => $this->getUrl('*/*/wishlist', array('_current' => true))));
$this->addTab('newsletter', array('label' => Mage::helper('customer')->__('Newsletter'), 'content' => $this->getLayout()->createBlock('adminhtml/customer_edit_tab_newsletter')->initForm()->toHtml()));
$this->addTab('reviews', array('label' => Mage::helper('customer')->__('Product Reviews'), 'class' => 'ajax', 'url' => $this->getUrl('*/*/productReviews', array('_current' => true))));
$this->addTab('tags', array('label' => Mage::helper('customer')->__('Product Tags'), 'class' => 'ajax', 'url' => $this->getUrl('*/*/productTags', array('_current' => true))));
$this->addTab('rewards', array('label' => Mage::helper('customer')->__('Points & Rewards'), 'content' => $this->getLayout()->createBlock('rewards/manage_customer_edit_tab_main')->toHtml()));
}
$this->_updateActiveTab();
Varien_Profiler::stop('customer/tabs');
return parent::_beforeToHtml();
// $html = parent::_beforeToHtml();
// if (Mage::registry('current_customer')->getId()) {
// }
//
// $this->_updateActiveTab();
//// Varien_Profiler::stop('customer/tabs');
// return $html;
}