Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class S1902_Mgyumesphere_Helper_Data extends Mage_Core_Helper_Abstract{
- //settings
- private $_modulename = 's1902_mgyumesphere';
- public function initHeadBlock(){
- return Mage::app()->getLayout()
- ->createBlock('s1902_mgyumesphere/head')
- ->setTemplate('s1902_mgyumesphere/head.phtml')
- ->toHtml();
- }
- public function getControllerName(){
- return Mage::app()->getRequest()->getControllerName();
- }
- public function getActionName(){
- return Mage::app()->getRequest()->getActionName();
- }
- public function getRouteName(){
- return Mage::app()->getRequest()->getRouteName();
- }
- public function getModuleName(){
- return Mage::app()->getRequest()->getModuleName();
- }
- public function getModel($modelname,$namespacemodule = null){
- if($namespacemodule === null){
- $namespacemodule = $this->getModuleName();
- }
- $model = Mage::getModel($namespacemodule.'/'.$modelname);
- return $model;
- }
- public function clearCheckout(){
- Mage::getSingleton('checkout/session')->clear();
- }
- public function getCurrentProduct(){
- return Mage::registry('current_product');
- }
- public function getCartPriceTotals(){
- /*assoc data: subtotal, grand_total, discount, tax
- example: $cartpricetotals['grand_total']->getValue();
- */
- return Mage::getSingleton('checkout/session')->getQuote()->getTotals();
- }
- public function getFreeShippingSubTotal(){
- return Mage::getStoreConfig("carriers/freeshipping/free_shipping_subtotal");
- }
- public function getCartItems($onlyVisible = true){
- $checkoutItems = array();
- $checkoutSession = Mage::getSingleton('checkout/session');
- $onQuote = null;
- if($onlyVisible){
- $onQuote = $checkoutSession->getQuote()->getAllVisibleItems();
- }
- else{
- $onQuote = $checkoutSession->getQuote()->getAllItems();
- }
- foreach ($onQuote as $item) {
- $_item = Mage::getModel('catalog/product')->load($item->getProductId());
- array_push($checkoutItems, $_item->getData());
- }
- return $checkoutItems;
- }
- public function getBaseUrl(){
- return Mage::getBaseUrl();
- }
- public function getUrl($url){
- $url = strtolower($url);
- switch($url){
- case 'skin':
- Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);
- break;
- case 'js':
- return Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS);
- break;
- case 'media':
- return Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
- break;
- case 'store':
- return Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
- break;
- default:
- return $this->getBaseUrl();
- break;
- }
- }
- public function manageSession($key, $val=null){
- if($val === null){
- return Mage::getSingleton('core/session')->getData($key);
- }
- else{
- Mage::getSingleton('core/session')->setData($key,$val);
- }
- }
- public function unsetSession($key){
- return Mage::getSingleton('core/session')->unsetData($key);
- }
- public function getProdBySku($sku){
- return Mage::getModel('catalog/product')->loadByAttribute('sku',$sku);
- }
- public function getProdById($id){
- return Mage::getModel('catalog/product')->load($id);
- }
- public function setProdAttr(&$product,&$attr,&$value){
- $product->setData($attr,$value)
- ->getResource()
- ->saveAttribute($product,$attr);
- }
- //new
- public function moneyFormat($number, $options = array()){
- $options_copy = array('decimals'=>0,
- 'dec_point'=>'.',
- 'thousands'=>',',
- 'currency_sym'=>true,
- 'currency_pos'=>0);
- if(!isset($options['decimal'])){
- $options['decimal'] = $options_copy['decimal'];
- }
- if(!isset($options['dec_point'])){
- $options['dec_point'] = $options_copy['dec_point'];
- }
- if(!isset($options['thousands'])){
- $options['thousands'] = $options_copy['thousands'];
- }
- if(!isset($options['currency_sym'])){
- $options['currency_sym'] = $options_copy['currency_sym'];
- }
- if(!isset($options['currency_pos'])){
- $options['currency_pos'] = $options_copy['currency_pos'];
- }
- $rawNumber = intval(Mage::helper('core')->currency(intval($number),false,false));
- $formattedNumber = number_format($number, $options['decimal'],$options['dec_point'],$options['thousands']);
- if($options['currency_sym']){
- $currencySymbol = $this->moneySymbol();
- if(!is_bool($options['currency_sym'])){
- $currency_symbol = $options['currency_sym'];
- }
- $moneyFormattedNumber = null;
- if($options['currency_pos'] <= 0){
- $formattedNumber = $currencySymbol . ' ' . $formattedNumber;
- }
- else{
- $formattedNumber = $formattedNumber . ' ' . $currencySymbol;
- }
- }
- return $formattedNumber;
- }
- //new
- public function moneySymbol($store = null){
- if($store === null){
- $store = Mage::app()->getStore();
- }
- return Mage::app()->getLocale()->currency($store->getCurrentCurrencyCode())->getSymbol();
- }
- /*
- *deprecated
- */
- public function formatMoney($number, $hasSymbol = true, $hasNoDecimalAndSymbol=true){
- return Mage::helper('core')->currency($number, $hasNoDecimalAndSymbol,true);
- }
- public function currency($number, $hasDecimalAndSymbol = false){
- return Mage::helper('core')->currency((int)$number, $hasNoDecimalAndSymbol,false);
- }
- public function getMoneySym(){
- return Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())->getSymbol();
- }
- public function log($prefix, $dump=true, $midfix='', $filename="mage.log"){
- if($dump){
- Mage::log($this->dump($prefix), $midfix, $filename);
- }
- else{
- Mage::log($prefix, $midfix, $filename);
- }
- }
- public function dump($var, $label=null, $echo = false){
- if($echo){
- Zend_Debug::dump($var, $label, $echo);
- }
- else{
- return Zend_Debug::dump($var, $label, $echo);
- }
- }
- public function getAttrByCode($attrCode){
- $attr_model = Mage::getModel('catalog/resource_eav_attribute');
- return $attr_model->loadByCode('catalog_product', $attrCode);
- }
- public function getSelectAttrVals($attrCode){
- $attribute = $this->getAttrByCode('filter_category');
- $attributeOptionsModel= Mage::getModel('eav/entity_attribute_source_table') ;
- $attributeOptionsModel->setAttribute($attribute);
- $options = $attributeOptionsModel->getAllOptions(false);
- return $options;
- }
- public function selectAttrValExists($attrCode, $value){
- foreach($this->getSelectAttrVals($attrCode) as $option){
- if ($option['label'] == $value){
- return $option;
- }
- }
- return false;
- }
- public function addSelectAttrVal($attrCode, $argValue)
- {
- $attribute_model = Mage::getModel('eav/entity_attribute');
- $attributeOptionsModel= Mage::getModel('eav/entity_attribute_source_table') ;
- $attribute = $this->getAttrByCode($attrCode);
- $attributeOptionsModel->setAttribute($attribute);
- $options = $attributeOptionsModel->getAllOptions(false);
- if(!$this->selectAttrValExists($attrCode, $argValue)){
- $value['option'] = array($argValue,$argValue);
- $result = array('value' => $value);
- $attribute->setData('option',$result);
- $attribute->save();
- }
- foreach($options as $option){
- if ($option['label'] == $argValue){
- return $option;
- }
- }
- return true;
- }
- public function getCatById($catid){
- return Mage::getModel('catalog/category')->load($catid);
- }
- public function getProdCats($prod){
- $categories = array();
- $catids = $prod->getCategoryIds();
- foreach ($catids as $category_id){
- array_push($categories, Mage::getModel('catalog/category')->load($category_id));
- }
- return $categories;
- }
- public function getSelectAttrOptionId($attrCode,$optionLabel){
- $productModel = Mage::getModel('catalog/product');
- $attr = $productModel->getResource()->getAttribute($attrCode);
- if ($attr->usesSource()) {
- return $attr->getSource()->getOptionId($optionLabel);
- }
- else{
- return null;
- }
- }
- public function setProdSelectAttrOptions($product,$attrCode,$values = array()){
- $existSelection = $this->getSelectedMultiSelectOptions($product,$attrCode,true);
- $valuesWant = array();
- $startcommit = false;
- foreach($values as $value){
- array_push($valuesWant,(int)$this->getSelectAttrOptionId($attrCode,$value));
- }
- if(!is_array($valuesWant) || !is_array($existSelection)){
- return null;
- }
- $arrdiff1 = array_diff($valuesWant,$existSelection);
- $arrdiff2 = array_diff($existSelection,$valuesWant);
- if(count($arrdiff1) != 0 || count($arrdiff2) != 0){
- $startcommit = true;
- }
- if($startcommit){
- if(count($valuesWant) == 0){
- $product->setData($attrCode,array());
- }
- else{
- $product->setData($attrCode,$valuesWant);
- }
- $product->save();
- }
- else{
- return null;
- }
- }
- public function getSelectedMultiSelectOptions($product, $attrCode,$returnIdsOnly = false){
- $selectedIds = $product->getData($attrCode);
- if($returnIdsOnly){
- return explode(',',$selectedIds);
- }
- $options = array();
- foreach($this->getSelectAttrVals($attrCode) as $attr){
- if(in_array((int)$attr['value'],explode(',',$selectedIds))){
- array_push($options,$attr);
- }
- }
- return $options;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement