Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[Contribution] iOSC - mobile version of OSC on your iPhone


bumbarash

Recommended Posts

Go to mobile/includes/classes/mobile_redirect.php and add this code at line 21

		if(tep_browser_detect('MAUI_WAP_Browser'))
		return 'GenericWAP';

 

What about osCsid?

Do you have osCsid in your product URL?

Does it look like this?

product_info.php?products_id=21&osCsid=11111111

 

 

For the osCsid yes, i have it in my browser IE8 & FF and yes it look like this:

product_info.php?products_id=21&osCsid=11111111

 

I'm still unable to add to cart on the mobile site, Please can you help?

 

Thanks a lot. :)

Link to comment
Share on other sites

I'm still unable to add to cart on the mobile site, Please can you help?

 

if you try the same in zaramir.com/osc/mobile it works fine, correct?

 

On your main site everything is working fine and on mobile you have

mobile/product_info.php?products_id=21&osCsid=b0c85b14da83f0f0327f34bbcb90d575 (this product is in stock)

and when you press "Add To Cart" it goes to

mobile/shopping_cart.php?osCsid=b0c85b14da83f0f0327f34bbcb90d575

 

and both osCsid are same?

 

If so it must be iOSC is having interference with some contribution. Did you install any other contributions which effect shopping_cart.php?

Link to comment
Share on other sites

if you try the same in zaramir.com/osc/mobile it works fine, correct?

 

On your main site everything is working fine and on mobile you have

mobile/product_info.php?products_id=21&osCsid=b0c85b14da83f0f0327f34bbcb90d575 (this product is in stock)

and when you press "Add To Cart" it goes to

mobile/shopping_cart.php?osCsid=b0c85b14da83f0f0327f34bbcb90d575

 

and both osCsid are same?

 

If so it must be iOSC is having interference with some contribution. Did you install any other contributions which effect shopping_cart.php?

 

For shopping-cart.php i haven't installed other addons as far as i remember.

 

Yes, if i try the same in zaramir.com/osc/mobile it works fine, but i've tested the osCsid=1111 only there.

Today i tested www.mysite.com/mobile when i click on an item there is no osCsid=1111 the url end by something like product_info.php?cPath=18&products_id=355 only and

When i 'add cart' it comes 'What's on your cart?' page saying 'your cart is empty'

 

Do you have any idea please?

 

Thankyou.

Link to comment
Share on other sites

Why am I getting this error? Sorrm but I am a novice at this

 

 

Warning: main(includes/classes/cache.class.php) [function.main]: failed to open stream: No such file or directory in /htdocs/catalog/includes/application_top.php on line 294

Warning: main() [function.include]: Failed opening 'includes/classes/cache.class.php' for inclusion (include_path='.:/usr/lib/php') in /catalog/includes/application_top.php on line 294

Fatal error: Cannot instantiate non-existent class: cache in /catalog/includes/application_top.php on line 295

 

Thanks for the help.

Link to comment
Share on other sites

Warning: main(includes/classes/cache.class.php) [function.main]: failed to open stream: No such file or directory in /htdocs/catalog/includes/application_top.php on line 294

 

cache.class.php doesn't look like standard OSC file. Did you install any contributions for cache?

Link to comment
Share on other sites

Hi.

could you please decribe in more details

There is your main catalog located?

Is it /var/www/html/

Where did you create mobile directory?

What change did you do in configure.php?

Hi,

Webstore is: /var/www/html/

Mobile site: /var/www/html//mobile

 

Hope this will help.

Link to comment
Share on other sites

Hi, love the contrib!

 

Couple of problems i'm having...

 

The index page title shows "heading_title"

 

When trying to register for an account, it doesn't work, the mobile version attempts to go to the pc site, and returns the mobile register form blank again.

 

Any ideas?

Link to comment
Share on other sites

classes/cache.class.php

and

functions/security.php

are not standard files. Do you know which contribution you install?

 

Hi,

My includes/functions/security.php

<?php
/*
 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2007 osCommerce

 Released under the GNU General Public License
###### includes/functions/security.php ####
###### Security Pro					####
###### FWR Media					   ####
###### www.fwrmedia.co.uk			  ####
###### 3rd March 2008				  ####
###### Version 1.0.2				   ####
##########################################*/
// Changelog - removed %(percent) added urldecode
function tep_clean_get__recursive($get_var)
 {
 if (!is_array($get_var))
 return preg_replace("/[^ {}a-zA-Z0-9_.-]/i", "", urldecode($get_var));

 // Add the preg_replace to every element.
 return array_map('tep_clean_get__recursive', $get_var);
 }
function fwr_clean_global($get_var) {
 foreach ($get_var as $key => $value)
 ( isset($GLOBALS[$key]) ? $GLOBALS[$key] = $get_var[$key] : NULL );
}
?>

 

and my includes/classes/cache.class.php

<?php
/*=======================================================================*\
|| #################### //-- SCRIPT INFO --// ########################## ||
|| #	Script name: cache.class.php
|| #	Contribution: osC-Advanced Cache Class
|| #	Version: 1.2
|| #	Date: 31 January 2005
|| # ------------------------------------------------------------------ # ||
|| #################### //-- COPYRIGHT INFO --// ######################## ||
|| #	Copyright (C) 2005 Bobby Easland								# ||
|| #	Internet moniker: Chemo											# ||	
|| #	Contact: [email protected]									# ||
|| #	Commercial Site: http://gigabyte-hosting.com/					# ||
|| #	GPL Dev Server: http://mesoimpact.com/							# ||
|| #																	# ||
|| #	This script is free software; you can redistribute it and/or	# ||
|| #	modify it under the terms of the GNU General Public License		# ||
|| #	as published by the Free Software Foundation; either version 2	# ||
|| #	of the License, or (at your option) any later version.			# ||
|| #																	# ||
|| #	This script is distributed in the hope that it will be useful,	# ||
|| #	but WITHOUT ANY WARRANTY; without even the implied warranty of	# ||
|| #	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the	# ||
|| #	GNU General Public License for more details.					# ||
|| #																	# ||
|| #	Script is intended to be used with:								# ||
|| #	osCommerce, Open Source E-Commerce Solutions					# ||
|| #	http://www.oscommerce.com										# ||
|| #	Copyright (c) 2003 osCommerce									# ||
|| ###################################################################### ||
\*========================================================================*/

class cache {
# temp resource container
var $cache_query;
# cache memory container and parameter
var $data, $keep_in_memory;
# languages
var $lang_id;	

/*=======================================================================*\
###########################################################################
class constructor
###########################################################################
\*=======================================================================*/
# initialize with the actual languages_id or pass an integer
function cache($languages_id, $memory = false){
	$this->lang_id = (int)$languages_id; //set language_id
	$this->keep_in_memory = $memory; // keep the data in memory?
	$this->data = array(); // initialize data array
	$this->cache_gc(); // clean up expired entries
} # end class constructor

/*=======================================================================*\
###########################################################################
function to save the cache to database
$name => name of entry
$value => data to be cached
$method => EVAL, ARRAY, or RETURN
$gzip => option to gzip the data, recommended to save space
$global => setting to make the cached data global in scope
$expires => in the format [ time interval (int)/ date interval (string) ]
###########################################################################
\*=======================================================================*/
function save_cache($name, $value, $method='RETURN', $gzip=1, $global=0, $expires = '30/days'){
	# convert $expires to date in the future 
	$expires = $this->convert_time($expires); 

	# if the method is ARRAY serialize the data
	if ($method == 'ARRAY' ) $value = serialize($value);

	# check to see if it should be compressed
	$value = ( $gzip === 1 ? base64_encode(gzdeflate($value, 1)) : addslashes($value) ); // addslashes if not compressed

	# initialize the data array for either insert or update
	$sql_data_array = array('cache_id' => md5($name), // md5 it to get a unique name
							'cache_language_id' => (int)$this->lang_id,
							'cache_name' => $name,
							'cache_data' => $value,
							'cache_global' => (int)$global,
							'cache_gzip' => (int)$gzip,
							'cache_method' => $method,
							'cache_date' => date("Y-m-d h:i:s"),
							'cache_expires' => $expires
							);

	# check whether it is already in the database
	# $is_cached and $is_expired is passed by reference!
	$this->is_cached($name, $is_cached, $is_expired);

	# $is_cached is returned from above as either true / false
	$cache_check = ( $is_cached ? 'true' : 'false' ); // convert the bool to string for switch comparison

	# swtich to find out whether we need to update or insert
	switch ( $cache_check ) {
		case 'true': // is cached so update the record
			tep_db_perform('cache', $sql_data_array, 'update', "cache_id='".md5($name)."'");
			break;

		case 'false': // is not cached so insert the record
			tep_db_perform('cache', $sql_data_array, 'insert');
			break;

		default: // should be one of the above...but just in case :-)
			break;
	} # end switch ($cache check)

	# unset the variables...clean as we go
	unset($value, $expires, $sql_data_array);

}# end function save_cache()

/*=======================================================================*\
###########################################################################
function to get the cache from database
$name is the cache name
	=> if no params are passed it will pull all the global 
	   cache entries and eval() them
###########################################################################
\*=======================================================================*/
function get_cache($name = 'GLOBAL', $local_memory = false){
	# define the column select list
	$select_list = 'cache_id, cache_language_id, cache_name, cache_data, cache_global, cache_gzip, cache_method, cache_date, cache_expires';

	# global check, used below
	$global = ( $name == 'GLOBAL' ? true : false ); // was GLOBAL passed or is using the default?

	# switch the $name to determine the right query to run
	switch($name){
		case 'GLOBAL': // either using default or passed as GLOBAL
			$this->cache_query = tep_db_query("SELECT ".$select_list." FROM cache WHERE cache_language_id='".(int)$this->lang_id."' AND cache_global='1'");
			break;

		default: // anything other than default or GLOBAL
			$this->cache_query = tep_db_query("SELECT ".$select_list." FROM cache WHERE cache_id='".md5($name)."' AND cache_language_id='".(int)$this->lang_id."'");
			break;
	} # end switch ($name)

	# number of rows for the query
	$num_rows = tep_db_num_rows($this->cache_query);

	if ( $num_rows ){ // if there were rows returned let's loop the return
		$container = array();
		while($cache = tep_db_fetch_array($this->cache_query)){
			# grab the cache name
			$cache_name = $cache['cache_name']; // not really needed but it makes the code look cleaner

			# check to see if it is expired
			if ( $cache['cache_expires'] > date("Y-m-d h:i:s") ) { // not expired yet

				# determine whether data was compressed
				$cache_data = ( $cache['cache_gzip'] == 1 ? gzinflate(base64_decode($cache['cache_data'])) : stripslashes($cache['cache_data']) );

				# switch on the method
				switch($cache['cache_method']){
					case 'EVAL': // must be PHP code
						eval("$cache_data");
						break;

					case 'ARRAY': // it's an array, unserialize it
						$cache_data = unserialize($cache_data);							
					case 'RETURN': // it's regular data, just return it
					default:
						break;
				} # end switch ($cache['cache_method'])

				# copy the data to an array
				if ($global) $container['GLOBAL'][$cache_name] = $cache_data; // it's global
				else $container[$cache_name] = $cache_data; // not global

			} else { // cache is expired
				if ($global) $container['GLOBAL'][$cache_name] = false; // it's global
				else $container[$cache_name] = false; // not global
			}# end if ( $cache['cache_expires'] > date("Y-m-d h:i:s") )

			# if keep_in_memory is true save to array
			if ( $this->keep_in_memory || $local_memory ) {
				if ($global) $this->data['GLOBAL'][$cache_name] = $container['GLOBAL'][$cache_name]; // it's global
				else $this->data[$cache_name] = $container[$cache_name]; // not global
			}			

		} # end while ($cache = tep_db_fetch_array($this->cache_query))

		# unset some varaibles...clean as we go
		unset($cache_data);
		tep_db_free_result($this->cache_query);

		# switch on true, case num_rows
		switch (true) {
			case ($num_rows == 1): // only one row returned
				if ($global){ // is global
					# the value is false or is not set, return false
					if ($container['GLOBAL'][$cache_name] == false || !isset($container['GLOBAL'][$cache_name])) return false;
					else return $container['GLOBAL'][$cache_name]; // else return the value
				} else { // not global
					# the valu is false or is not set, return false
					if ($container[$cache_name] == false || !isset($container[$cache_name])) return false;
					else return $container[$cache_name]; // else return the value
				} # end if ($global)

			case ($num_rows > 1): // more than 1 row returned
			default: // might as well put a default in here :-)
				return $container; // return the data array
				break;
		}# end switch (true)

	} else { // there were no returned rows from the query: return false
		return false;
	}# end if ( $num_rows )

} # end function get_cache()

/*=======================================================================*\
###########################################################################
function to retrieve the cache from memory
before it is in memory it must be called at least once by get_cache() !!
###########################################################################
\*=======================================================================*/
function get_cache_memory($name, $method = 'RETURN'){
	# check to see if there is GLOBAL in memory first
	# if so, use that over non-GLOBAL		
	$data = ( isset($this->data['GLOBAL'][$name]) ? $this->data['GLOBAL'][$name] : $this->data[$name] );

	# sanity check to make sure the data has content
	if ( isset($data) && !empty($data) && $data != false ){ // data has content

		# switch on the method
		switch($method){
			case 'EVAL': // data must be PHP
				eval("$data");
				return true;
				break;

			case 'ARRAY': // already unserialized from get_cache()
			case 'RETURN':
			default:
				return $data;
				break;
		} # end switch ($method)

	} else { // data was not set or had no content
		return false;
	} # end if (isset($data) && !empty($data) && $data != false)

} # end function get_cache_memory()

/*=======================================================================*\
###########################################################################
function to do some basic GC
###########################################################################
\*=======================================================================*/
function cache_gc(){
	# just deleting entries that are expired
	tep_db_query("DELETE FROM cache WHERE cache_expires <= '" . date("Y-m-d h:i:s") . "'" );
}

/*=======================================================================*\
###########################################################################
function to convert $expires datetime
parameter is in the format [ time interval (int)/ date interval (string) ]
30/d == 30 days, 1/m == 1 month, etc.
###########################################################################
\*=======================================================================*/
function convert_time($expires){ //expires date interval must be spelled out and NOT abbreviated !!
	# explode the passed parameter
	$expires = explode('/', $expires);
	switch( strtolower($expires[1]) ){ // strtolower just in case :-)
		case 'seconds':
			$expires = mktime( date("h"), date("i"), date("s")+(int)$expires[0], date("m"), date("d"), date("Y") );
			break;

		case 'minutes':
			$expires = mktime( date("h"), date("i")+(int)$expires[0], date("s"), date("m"), date("d"), date("Y") );
			break;

		case 'hours':
			$expires = mktime( date("h")+(int)$expires[0], date("i"), date("s"), date("m"), date("d"), date("Y") );
			break;

		case 'days':
			$expires = mktime( date("h"), date("i"), date("s"), date("m"), date("d")+(int)$expires[0], date("Y") );
			break;

		case 'months':
			$expires = mktime( date("h"), date("i"), date("s"), date("m")+(int)$expires[0], date("d"), date("Y") );
			break;

		case 'years':
			$expires = mktime( date("h"), date("i"), date("s"), date("m"), date("d"), date("Y")+(int)$expires[0] );
			break;

		default: // if something fudged up then default to 1 month
			$expires = mktime( date("h"), date("i"), date("s"), date("m")+1, date("d"), date("Y") );
			break;
	} # end switch( strtolower($expires[1]) )

	# return the converted expiration date
	return date("Y-m-d h:i:s", $expires);

} # end function convert_time()

/*=======================================================================*\
###########################################################################
function to check if the cache is in the database and expired 
###########################################################################
\*=======================================================================*/
function is_cached($name, &$is_cached, &$is_expired){ // NOTE: $is_cached and $is_expired is passed by reference !!
	# query for the expiration date
	$this->cache_query = tep_db_query("SELECT cache_expires FROM cache WHERE cache_id='".md5($name)."' AND cache_language_id='".(int)$this->lang_id."' LIMIT 1");

	# check to see if there were any rows returned
	$is_cached = ( tep_db_num_rows($this->cache_query ) ? true : false );

	if ($is_cached){ // there were rows returned
		# fetch the array
		$check = tep_db_fetch_array($this->cache_query);

		# check to see if it is expired
		$is_expired = ( $check['cache_expires'] <= date("Y-m-d h:i:s") ? true : false );

		# unset $check...clean as we go
		unset($check);
	}

	# free the result...clean as we go
	tep_db_free_result($this->cache_query);
}# end function is_cached()

} # end of cache class
?>

Link to comment
Share on other sites

ive installed the latest version but im having a problem with login pages. it redirects back to the main site to login, is there a configuration i need to change for use of a security cert?

 

Check your includes/configure.php file

It should have

 

define('DIR_WS_HTTP_CATALOG', '/mobile/');

define('DIR_WS_HTTPS_CATALOG', '/mobile/');

Link to comment
Share on other sites

The index page title shows "heading_title"

 

It should be same title as you see in IE when you open your main catalog index page.

HEADING_TITLE is define in catalog\includes\languages\english\index.php

 

 

 

When trying to register for an account, it doesn't work, the mobile version attempts to go to the pc site, and returns the mobile register form blank again.

Check your includes/configure.php file

It should have

 

define('DIR_WS_HTTP_CATALOG', '/mobile/');

define('DIR_WS_HTTPS_CATALOG', '/mobile/');

Link to comment
Share on other sites

My includes/functions/security.php

and my includes/classes/cache.class.php

 

Try to copy those files to mobile/includes/functions and mobile/includes/classes.

Please let me know if it helps

Edited by bumbarash
Link to comment
Share on other sites

Hi, I installed the contribution in a site (CREloaded). Trying to see the /mobile/index.php or /mobile/mobile.php I get:

 

Template Error : Error with Helius1 Template

 

I can see /mobile/includes/mobile.css

 

I think this is a path problem but I can't seem to fix it. For a moment I could see the mobile.php page but not the index.php, now I can't see any of those.

 

/mobile/includes/configure.php:

 


define('DIR_MAIN_HTTP_CATALOG', '/');
define('DIR_WS_HTTP_CATALOG', '/mobile/');
define('DIR_WS_IMAGES', '../images/');
define('DIR_WS_INCLUDES', '../includes/');

define('DIR_MOBILE_IMAGES', 'images/');
define('DIR_MOBILE_INCLUDES', 'includes/');
define('DIR_MOBILE_MODULES', DIR_MOBILE_INCLUDES . 'modules/');
define('DIR_MOBILE_CLASSES', DIR_MOBILE_INCLUDES . 'classes/');
define('DIR_MOBILE_HEADERS', DIR_MOBILE_INCLUDES . 'headers/');

define('DIR_MOBILE_LANGUAGES', 'includes/languages/');

define ('MOBILE_IMAGE_WIDTH', '80px');
define ('MOBILE_IMAGE_HEIGHT', '80px');

define ('FILENAME_MOBILE', 'mobile.php');
define ('FILENAME_PRODUCTS', 'products.php');
define ('FILENAME_ABOUT', 'about.php');
define ('FILENAME_SEARCH', 'search.php');
define ('FILENAME_LANGUAGES', 'languages.php');

define ('SEO_ENABLED', 'false');

 

Configure.php of the site:

 


/*
 osCommerce, Open Source E-Commerce Solutions
 [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url]

 Copyright © 2003 osCommerce

 Released under the GNU General Public License
*/

// Define the webserver and path parameters
// * DIR_FS_* = Filesystem directories (local/physical)
// * DIR_WS_* = Webserver directories (virtual/URL)
 define('HTTP_SERVER', 'http://www.example.com/'); // eg, [url="http://localhost"]http://localhost[/url] - should not be empty for productive servers
 define('HTTPS_SERVER', ''); // eg, [url="https://localhost"]https://localhost[/url] - should not be empty for productive servers
 define('ENABLE_SSL', false); // secure webserver for checkout procedure?
 define('HTTP_COOKIE_DOMAIN', 'www.example.com');
 define('HTTPS_COOKIE_DOMAIN', '');
 define('HTTP_COOKIE_PATH', '');
 define('HTTPS_COOKIE_PATH', '');
 define('DIR_WS_HTTP_CATALOG', '');
 define('DIR_WS_HTTPS_CATALOG', '');
 define('DIR_WS_IMAGES', 'images/');
 define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');
 define('DIR_WS_INCLUDES', 'includes/');
 define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');
 define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
 define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
 define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
 define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

//Added for BTS1.0
 define('DIR_WS_TEMPLATES', 'templates/');
 define('DIR_WS_CONTENT', DIR_WS_TEMPLATES . 'content/');
 define('DIR_WS_JAVASCRIPT', DIR_WS_INCLUDES . 'javascript/');
//End BTS1.0
 define('DIR_WS_DOWNLOAD_PUBLIC', 'pub/');
 define('DIR_FS_CATALOG', '/home/user/public_html/');
 define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/');
 define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/');

// define our database connection
 define('DB_SERVER', 'localhost'); // eg, localhost - should not be empty for productive servers
 define('DB_SERVER_USERNAME', '');
 define('DB_SERVER_PASSWORD', '');
 define('DB_DATABASE', '');
 define('USE_PCONNECT', 'false'); // use persistent connections?
 define('STORE_SESSIONS', 'mysql'); // leave empty '' for default handler or set to 'mysql'

 

Any help is appreciated. I didn't install the site nor the template. Thank you, bye.

Link to comment
Share on other sites

Could you inform me on how to redirect standard wap browsers, like on a Sony Ericsson please?

 

Go to your mobile/includes/classes/mobile_redirect.php and replace function needRedirect with this:

	function needRedirect() {
	if($this->isCancelled()) 
		return false;
	if(strpos($_SERVER['SCRIPT_NAME'],$this->mobileDir . $this->mobileFile) > 0)
		return false;
	if(tep_browser_detect('iPhone') || tep_browser_detect('iPod'))
		return 'iPhone';
	if(tep_browser_detect('Blackberry'))
		return 'Blackberry';
	if(tep_browser_detect('Nokia'))
		return 'Nokia';
	if(tep_browser_detect('SonyEricsson'))
		return 'SonyEricsson';
	if(tep_browser_detect('Opera Mobi'))
		return 'OperaMobi';
	if(tep_browser_detect('Opera Mini'))
		return 'OperaMini';
	if(tep_browser_detect('MAUI_WAP_Browser'))
		return 'GenericWAP';
	return false;
}

Link to comment
Share on other sites

Hi, I installed the contribution in a site (CREloaded). Trying to see the /mobile/index.php or /mobile/mobile.php I get:

Template Error : Error with Helius1 Template

 

Look like CRELoaded included Basic Template Structure contribution to the package.

iOSC doesn't seem to be compatible with it.

 

you could try and add this to your mobile/includes/configure.php file

but I cannot guarantee it will work out of the box

define('DIR_WS_TEMPLATES', '../templates/');
define('DIR_WS_CONTENT', DIR_WS_TEMPLATES . '../content/');
define('DIR_WS_JAVASCRIPT', DIR_WS_INCLUDES . '../javascript/');

Link to comment
Share on other sites

Try to copy those files to mobile/includes/functions and mobile/includes/classes.

Please let me know if it helps

Hi,

Adding those files as per your suggestion in the Mobile folders worked!!!!

 

But I have a new error coming up:

Warning: include(includes/seo_cache.php) [function.include]: failed to open stream: No such file or directory in /var/www/html/includes/application_top.php on line 322

Warning: include(includes/seo_cache.php) [function.include]: failed to open stream: No such file or directory in /var/www/html/includes/application_top.php on line 322

Warning: include() [function.include]: Failed opening 'includes/seo_cache.php' for inclusion (include_path='.:/php/includes:/usr/share/php') in /var/www/html/includes/application_top.php on line 322

Link to comment
Share on other sites

This is a very nice and usefull addon, but I'm having some problems installing the last version (1.3).

I upload the files into "Mobile" folder, change the configure.php as you said and... the result is this:

 

-------------

Notice: Constant DIR_WS_HTTP_CATALOG already defined in C:\wamp\www\diploma\includes\configure.php on line 9

 

Notice: Constant DIR_WS_HTTPS_CATALOG already defined in C:\wamp\www\diploma\includes\configure.php on line 10

 

Notice: Constant DIR_WS_IMAGES already defined in C:\wamp\www\diploma\includes\configure.php on line 11

 

Notice: Constant DIR_WS_INCLUDES already defined in C:\wamp\www\diploma\includes\configure.php on line 13

 

var catNav = new CategoriesNavigator('index.php', '

Fatal error: Call to undefined function domxml_new_doc() in C:\wamp\www\diploma\mobile\includes\classes\common_js.php on line 48

------------

 

How can I fix the fatal error?

Thank you!

 

Later Edit:

 

I solved the problem with the fatal error. I just tryed to access mobile.php instead of index.php and it's k now.

Now, how can I make it not to see the Notices anymore?

Thanks!

Edited by nlaur86
Link to comment
Share on other sites

Warning: include(includes/seo_cache.php) [function.include]: failed to open stream: No such file or directory in /var/www/html/includes/application_top.php on line 322

You could try same approach: copy includes/seo_cache.php to mobile/includes/seo_cache.php

Link to comment
Share on other sites

Notice: Constant DIR_WS_HTTP_CATALOG already defined in C:\wamp\www\diploma\includes\configure.php on line 9

Now, how can I make it not to see the Notices anymore?

 

check your php.ini file for error reporting, you should find something like (default php configuration)

error_reporting = E_ALL & ~E_NOTICE

 

if you cannot change your php settings, then add this line as first line in

mobile/includes/application_top.php

 

error_reporting(E_ALL & ~E_NOTICE);

Edited by bumbarash
Link to comment
Share on other sites

Changes in v1.3

AJAX support for categories

Corrected support for HTTPS

Paypal Express support

More mobile browsers redirected

Is there anyway you could include "upgrade instructions" to the package ? I have added so many addons to your wonderful iOSC contribution that I do not want to start from "scratch" again.

Any separate instructions on how to add your Ajax support for categories would be greatly appreciated.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...