ISC 6.x & PHP 5.4 Known issues/fixes

For articles specific to version 6.x
Post Reply
Martin
Site Admin
Site Admin
Posts: 1854
Joined: Wed Jun 17, 2009 6:30 pm
Location: South Yorkshire UK
Contact:

ISC 6.x & PHP 5.4 Known issues/fixes

Post by Martin »

I'm starting this thread so we can put together any fixes relating to PHP version 5.4.x and post them up here..

Please DO NOT post up requests for help here, they will simply be deleted
You can post up bugs, reports, etc... (related to ISC and PHP 5.4) in this linked thread instead.

Martin
Site Admin
Site Admin
Posts: 1854
Joined: Wed Jun 17, 2009 6:30 pm
Location: South Yorkshire UK
Contact:

Re: ISC 6.x & PHP 5.4 Known issues/fixes

Post by Martin »

PHP Strict Standards: Declaration of ISC_SHIPPING::SaveModuleSettings() should be compatible with ISC_MODULE::SaveModuleSettings($settings = Array, $deleteFirst = true) in /public_html/includes/classes/class.shipping.php on line 8
PHP Strict Standards: Declaration of ISC_SHIPPING::getpropertiessheet() should be compatible with ISC_MODULE::GetPropertiesSheet($tab_id, $idGlobal, $jsGlobal, $jsSelectedFunction, $customVars = Array, $moduleId = NULL) in /public_html/includes/classes/class.shipping.php on line 8
Open: /includes/classes/class.shipping.php

Find:

Code: Select all

public function getpropertiessheet($tab_id)
Replace with:

Code: Select all

//public function GetPropertiesSheet($tab_id) 
public function GetPropertiesSheet($tab_id, $idGlobal='', $jsGlobal='', $jsSelectedFunction='', $customVars = array(), $moduleId = null)
Find:

Code: Select all

public function SaveModuleSettings($settings=array())
Replace with:

Code: Select all

//public function SaveModuleSettings($settings=array()) 
public function SaveModuleSettings($settings=array(), $deleteFirst=true)

Note: This solution is currently untested

MegaFemaTron2
Confirmed
Confirmed
Posts: 84
Joined: Thu Oct 13, 2011 8:37 pm

Re: ISC 6.x & PHP 5.4 Known issues/fixes

Post by MegaFemaTron2 »

Martin wrote:
PHP Strict Standards: Declaration of ISC_SHIPPING::SaveModuleSettings() should be compatible with ISC_MODULE::SaveModuleSettings($settings = Array, $deleteFirst = true) in /public_html/includes/classes/class.shipping.php on line 8
PHP Strict Standards: Declaration of ISC_SHIPPING::getpropertiessheet() should be compatible with ISC_MODULE::GetPropertiesSheet($tab_id, $idGlobal, $jsGlobal, $jsSelectedFunction, $customVars = Array, $moduleId = NULL) in /public_html/includes/classes/class.shipping.php on line 8
Open: /includes/classes/class.shipping.php

Find:

Code: Select all

public function getpropertiessheet($tab_id)
Replace with:

Code: Select all

//public function GetPropertiesSheet($tab_id) 
public function GetPropertiesSheet($tab_id, $idGlobal='', $jsGlobal='', $jsSelectedFunction='', $customVars = array(), $moduleId = null)
Find:

Code: Select all

public function SaveModuleSettings($settings=array())
Replace with:

Code: Select all

//public function SaveModuleSettings($settings=array()) 
public function SaveModuleSettings($settings=array(), $deleteFirst=true)

Note: This solution is currently untested
Just did this in my shop and it works. Thanks!!
ISC 6.1.1 Ultimate Edition

SamX
Posts: 14
Joined: Thu Jul 09, 2009 11:26 pm

Re: ISC 6.x & PHP 5.4 Known issues/fixes

Post by SamX »

I Got this message:

Strict Standards: Non-static method ISC_REDIRECTS::generateRedirectUrl() should not be called statically in /home/toonsdel/public_html/lib/class.redirects.php on line 30

Somebody have the solution?

The code is

Code: Select all

	/**
	* This function takes a URL and checks to see if there is a redirect for it, and if there is it redirects the user to the new URL
	*
	* @param string $originalURL The URL to check for redirect
	*/
	public static function checkRedirect($urlPath)
	{
		// @codeCoverageIgnoreStart
		$newUrl = self::generateRedirectUrl($urlPath);

		if (!$newUrl) {
			return false;
		}

		self::redirect($newUrl);
		// @codeCoverageIgnoreEnd
	}

	/**
	* Finds and returns a redirect for $urlPath which is typically the current REQUEST_URI (including app path for sub-dir installs)
	*
	* @param mixed $urlPath
	*/
	public function generateRedirectUrl($urlPath)
	{
		$urlPath = isc_substr($urlPath, strlen(GetConfig('AppPath')));
		$check = self::loadRedirectByURL($urlPath);

		if(!$check) {
			return false;
		}

		// if we made it here, we have redirect, we now need to find what item it's for and redirect
		if($check['redirectassoctype'] == self::REDIRECT_TYPE_MANUAL) {
			// it's a manual redirect, so the new URL has already been specified
			if(!is_null($check['redirectmanual'])) {
				$url = parse_url($check['redirectmanual']);
				if (isset($url['host'])) {
					return $check['redirectmanual'];
				} else {
					$url = GetConfig('AppPath') . $url['path'];
					if (!$url) {
						return '/';
					}
					return $url;
				}
			}
			return false;
		}

		GetLib("class.urls");

		$newUrl = null;
		$check['redirectassoctype'] = (int)$check['redirectassoctype'];
		switch ($check['redirectassoctype']) {
			case self::REDIRECT_TYPE_PRODUCT:
				$newUrl = ISC_URLS::getProductUrl($check['redirectassocid']);
				break;
			case self::REDIRECT_TYPE_CATEGORY:
				$newUrl = ISC_URLS::getCategoryUrl($check['redirectassocid']);
				break;
			case self::REDIRECT_TYPE_BRAND:
				$newUrl = ISC_URLS::getBrandUrl($check['redirectassocid']);
				break;
			case self::REDIRECT_TYPE_PAGE:
				$newUrl = ISC_URLS::getPageUrl($check['redirectassocid']);
				break;
			default:
				return false;
		}

		if(!$newUrl) {
			return false;
		}

		return $newUrl;
	}

	public function getTypeFromLabel($label)
	{
		if (empty($label)) {
			return false;
		}

		$label = isc_strtolower(trim($label));

		$labels = array(
			'Product'	=> self::REDIRECT_TYPE_PRODUCT,
			'Category'	=> self::REDIRECT_TYPE_CATEGORY,
			'Brand'		=> self::REDIRECT_TYPE_BRAND,
			'Page'		=> self::REDIRECT_TYPE_PAGE,
		);

		foreach ($labels as $redirectLabel => $redirectType) {
			if (isc_strtolower(GetLang($redirectLabel)) == $label) {
				return $redirectType;
			}

		}

		return false;
	}
ISC 6.1.1 Multi-Vendor Edition

windsurfer
Posts: 3
Joined: Fri Aug 13, 2010 6:32 pm

Re: ISC 6.x & PHP 5.4 Known issues/fixes

Post by windsurfer »

Hello
I just ran into this problem with version 6.1.1 and wondering if anybody has a solution for this yet ?
Regards

arta008
Posts: 1
Joined: Sat Dec 19, 2015 8:56 pm
Location: Indonesia

Re: ISC 6.x & PHP 5.4 Known issues/fixes

Post by arta008 »

Hello do you know solution for this problem


Strict Standards: Declaration of ISC_NOTIFICATION::GetPropertiesSheet() should be compatible with ISC_MODULE::GetPropertiesSheet($tab_id, $idGlobal, $jsGlobal, $jsSelectedFunction, $customVars = Array, $moduleId = NULL) in /home/u469745069/public_html/includes/classes/class.notification.php on line 128

Strict Standards: Declaration of ISC_CHECKOUT_PROVIDER::GetPropertiesSheet() should be compatible with ISC_MODULE::GetPropertiesSheet($tab_id, $idGlobal, $jsGlobal, $jsSelectedFunction, $customVars = Array, $moduleId = NULL) in /home/u469745069/public_html/includes/classes/class.checkoutprovider.php on line 892

Saqib
Posts: 1
Joined: Wed Mar 16, 2016 10:12 pm
Location: Karachi

Re: ISC 6.x & PHP 5.4 Known issues/fixes

Post by Saqib »

please... urgent need solution for these:

Strict Standards: Declaration of ISC_CHECKOUT_PROVIDER::GetPropertiesSheet() should be compatible with ISC_MODULE::GetPropertiesSheet($tab_id, $idGlobal, $jsGlobal, $jsSelectedFunction, $customVars = Array, $moduleId = NULL)

Strict Standards: Declaration of ISC_NOTIFICATION::GetPropertiesSheet() should be compatible with ISC_MODULE::GetPropertiesSheet($tab_id, $idGlobal, $jsGlobal, $jsSelectedFunction, $customVars = Array, $moduleId = NULL)

Strict Standards: Declaration of ISC_SHIPPING::SaveModuleSettings() should be compatible with ISC_MODULE::SaveModuleSettings($settings = Array, $deleteFirst = true

Post Reply