- Posts: 116
- Thank you received: 7
Fatal error in helpers/modules.php on line 207
- stratacorps
-
Topic Author
- Offline
Less
More
10 years 6 months ago #232543
by stratacorps
Fatal error in helpers/modules.php on line 207 was created by stratacorps
-- HikaShop version -- : 2.6.1
-- Joomla version -- : 3.4.8
-- PHP version -- : 5.6.18
-- Browser(s) name and version -- : any
-- Error-message(debug-mod must be tuned on) -- : PHP Fatal error: Call to a member function get() on null in /home/.../public_html/administrator/components/com_hikashop/helpers/module.php on line 207
This happens when the user has added an item to the shopping cart from RSVP Pro (3rd party)...it redirects to Hikashop's shopping cart and then this error is generated.
I'm not sure how to troubleshoot this. It had been working before.
Can someone help me with how to communicate when/what this module is doing so I can track down the cause?
Thank you,
Kevin
-- Joomla version -- : 3.4.8
-- PHP version -- : 5.6.18
-- Browser(s) name and version -- : any
-- Error-message(debug-mod must be tuned on) -- : PHP Fatal error: Call to a member function get() on null in /home/.../public_html/administrator/components/com_hikashop/helpers/module.php on line 207
This happens when the user has added an item to the shopping cart from RSVP Pro (3rd party)...it redirects to Hikashop's shopping cart and then this error is generated.
I'm not sure how to troubleshoot this. It had been working before.
Can someone help me with how to communicate when/what this module is doing so I can track down the cause?
Thank you,
Kevin
Please Log in or Create an account to join the conversation.
10 years 6 months ago #232585
by Xavier
Replied by Xavier on topic Fatal error in helpers/modules.php on line 207
Hi,
Please replace the content of the file mentioned in the error by this one:
Please replace the content of the file mentioned in the error by this one:
Code:
<?php
class hikashopModuleHelper{
function initialize(&$obj){
$this->_getParams($obj);
// Set the joomla menu settings to the hikashop settings
if(!empty($obj->ctrl)){
$data = $obj->params->get('data');
$type = 'hk_'.$obj->ctrl;
if(isset($data->$type) && is_object($data->$type)){
foreach($data->$type as $k => $v){
$obj->params->set($k,$v);
}
}
}
$this->setCSS($obj->params,@$obj->module);
$obj->modules = $this->setModuleData($obj->params->get('modules'));
}
function setCSS(&$params,$name=''){
$css ='';
$main_div_name = $params->get('main_div_name');
if(empty($main_div_name)){
$main_div_name ='hikashop_category_information_'.($name?'module_':'menu_').$params->get('id');
$params->set('main_div_name',$main_div_name);
}
$config =& hikashop_config();
if($config->get('no_css_header',0)){
return true;
}
if($params->get('background_color','')==''){
$defaultParams = $config->get('default_params');
$params->set('background_color',$defaultParams['background_color']);
}
if($params->get('margin','')==''){
$defaultParams = $config->get('default_params');
$params->set('margin',$defaultParams['margin']);
}
$background_color = $params->get('background_color');
if(!empty($background_color)){
$css='
#'.$main_div_name.' div.hikashop_subcontainer {
background:'.$background_color.';
}
#'.$main_div_name.' .hikashop_rtop *,#'.$main_div_name.' .hikashop_rbottom *{
background:'.$background_color.';
}
';
}
if($params->get('text_center','-1')=='-1'){
$config =& hikashop_config();
$defaultParams = $config->get('default_params');
$params->set('text_center',$defaultParams['text_center']);
}
$center = $params->get('text_center');
if(!empty($center)){
$css.='
#'.$main_div_name.' div.hikashop_subcontainer,#'.$main_div_name.' div.hikashop_subcontainer span {
text-align:center;
}
#'.$main_div_name.' div.hikashop_container {
text-align:center;
}
';
}else{
$css.='
#'.$main_div_name.' div.hikashop_subcontainer,#'.$main_div_name.' div.hikashop_subcontainer span {
text-align:left;
}
#'.$main_div_name.' div.hikashop_container {
text-align:left;
}
';
}
$margin = $params->get('margin',0);
$css.='
#'.$main_div_name.' div.hikashop_container {
margin:'.$margin.'px '.$margin.'px;
}
#'.$main_div_name.' div.hikashop_category,#'.$main_div_name.' div.hikashop_product{
float:left;
}';
if($params->get('rounded_corners','-1')=='-1'){
$config =& hikashop_config();
$defaultParams = $config->get('default_params');
$params->set('rounded_corners',$defaultParams['rounded_corners']);
}
$rounded_corners = $params->get('rounded_corners',0);
if($rounded_corners){
$css.= '
#'.$main_div_name.' .hikashop_subcontainer {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-khtml-border-radius: 5px;
border-radius: 5px;
}
';
}else{
$css.= '
';
}
if (!HIKASHOP_PHP5) {
$doc =& JFactory::getDocument();
}else{
$doc = JFactory::getDocument();
}
$doc->addStyleDeclaration($css);
}
function setModuleData($modules){
if(!empty($modules)){
if(!is_array($modules)){
$modules = explode(',',$modules);
}
JArrayHelper::toInteger($modules);
$modules = implode(',',$modules);
$database = JFactory::getDBO();
$query = 'SELECT * FROM '.hikashop_table('modules',false).' WHERE id IN ('.$modules.');';
$database->setQuery($query);
$modulesData = $database->loadObjectList('id');
$unset = array();
$modules = explode(',',$modules);
foreach($modules as $k => $v){
if(isset($modulesData[$v])){
$file = $modulesData[$v]->module;
$custom = substr( $file, 0, 4 ) == 'mod_' ? 0 : 1;
$modulesData[$v]->user = $custom;
$modulesData[$v]->name = $custom ? $modulesData[$v]->title : substr( $file, 4 );
$modulesData[$v]->style = null;
$modulesData[$v]->position = strtolower($modulesData[$v]->position);
$modules[$k] = $modulesData[$v];
}else{
$unset[]=$k;
}
}
if(!empty($unset)){
foreach($unset as $u){
unset($modules[$u]);
}
}
}else{
$modules=array();
}
return $modules;
}
function _getParams(&$obj){
if(empty($obj->params)){
global $Itemid;
$app = JFactory::getApplication();
$menus = $app->getMenu();
$menu = $menus->getActive();
if(!empty($Itemid) && !empty($menu) && !empty($menuData->link) && strpos($menu->link,'option='.HIKASHOP_COMPONENT)!==false && (strpos($menu->link,'view=category')!==false || strpos($menu->link,'view=')===false)){
$app->setUserState(HIKASHOP_COMPONENT.'.category_item_id',$Itemid);
}
if(empty($menu)){
if(!empty($Itemid)){
$menus->setActive($Itemid);
$menu = $menus->getItem($Itemid);
}else{
$item_id = $app->getUserState(HIKASHOP_COMPONENT.'.category_item_id');
if(!empty($item_id)){
$menus->setActive($item_id);
$menu = $menus->getItem($item_id);
}
}
}
jimport('joomla.html.parameter');
if (is_object( $menu )) {
// If missing hikashop data for the current menu due to FaLang or JoomFish for example
if(HIKASHOP_J30 && (($menu->query['view'] == 'category' && (!$menu->params->get('hk_category',false) || !$menu->params->get('hk_product',false))) || ($menu->query['view'] == 'product' && !$menu->params->get('hk_product',false)))){
$db = JFactory::getDBO();
$query = 'SELECT params FROM '.hikashop_table('menu',false).' WHERE id = '.(int)$menu->id;
$db->setQuery($query);
$itemData = json_decode($db->loadResult());
if(isset($itemData->hk_category))
$menu->params->set('hk_category', $itemData->hk_category);
if(isset($itemData->hk_product))
$menu->params->set('hk_product', $itemData->hk_product);
}
$obj->params = new HikaParameter( $menu->params );
$obj->params->set('id',$menu->id);
if(version_compare(JVERSION,'1.6','<')){
$obj->params->set('title',$menu->name);
}else{
$obj->params->set('title',$menu->title);
}
}else{
$params ='';
$obj->params = new HikaParameter($params);
}
if (is_object( $menu )) {
// We force the option "selectparentlisting" for retro compatibility
$productParams = $menu->params->get('hk_product',false);
if($productParams && !isset($productParams->selectparentlisting) && isset($productParams->category)){
$productParams->selectparentlisting = $productParams->category;
$menu->params->set('hk_product',$productParams);
$menu->params->set('selectparentlisting',$productParams->selectparentlisting);
$menu->params->set('content_type','product');
}
$categoryParams = $menu->params->get('hk_category',false);
if($categoryParams && !isset($categoryParams->selectparentlisting) && isset($categoryParams->category)){
$categoryParams->selectparentlisting = $categoryParams->category;
$menu->params->set('hk_category',$categoryParams);
$menu->params->set('selectparentlisting',$categoryParams->selectparentlisting);
$menu->params->set('content_type','category');
}
}
$config = hikashop_config();
$menuClass = hikashop_get('class.menus');
$menuData = $menuClass->get(@$menu->id);
if($config->get('auto_init_options',1) && !empty($menuData->link) && strpos($menuData->link,'view=product')===false){
//the menu is a category listing so check the associated modules
$options = $config->get('menu_'.@$menu->id,null);
if(empty($options) || empty($options['modules'])){
//no options set for the categories listing menu, auto create the options and an associated module
$menuClass->createMenuOption($menuData,$options);
}
}
if(!empty($menuData->hikashop_params)){
foreach($menuData->hikashop_params as $key => $item){
$obj->params->set($key,$item);
}
}
if(!empty($menuData->params)){
foreach($menuData->params as $key => $item){
if(!is_object($item)){
$obj->params->set($key,$item);
}
}
}
}else{
$obj->module = true;
}
}
}
The following user(s) said Thank You: stratacorps
Please Log in or Create an account to join the conversation.
- stratacorps
-
Topic Author
- Offline
Less
More
- Posts: 116
- Thank you received: 7
10 years 6 months ago #232776
by stratacorps
Replied by stratacorps on topic Fatal error in helpers/modules.php on line 207
Monitoring things for a day so far and all seems well. Thank you for the quick response!
Please Log in or Create an account to join the conversation.
Time to create page: 0.159 seconds