Page 1 of 1

trunk 07-12-05 and shop

Posted: Thu 6. Dec 2007, 20:21
by update
Hi,
I did a plain fresh install of the newest snapshot yesterday. Today I tried to activate the shop and got the famous Warning: Invalid argument supplied for foreach() in ...
This issue seems to be up to date - what a pity! :?
Did it by hand again... :wink:

Additionally there is a problem using bad_behavior = 1. Products are added but I have to look at the ugly
Error 403

We're sorry, but we could not fulfill your request for /index.php?shop on this server.

Your Internet Protocol address is listed on a blacklist of addresses involved in malicious or illegal activity
But I don't do any illegal activity :shock:
When I take it down to zero everything is working. Cannot remember that I've seen this before...

Posted: Fri 7. Dec 2007, 07:34
by novallis
Hi Claus,

i had yesterday a similar problem in using the exdata mod.

It's a issue with the bad behavior function - so please deactivate.

Look here:
http://www.phpwcms.de/forum/viewtopic.p ... torder=asc

This solved my problem.

Regards,
- Ralf

Posted: Fri 7. Dec 2007, 08:36
by update
Thank you,
yes with bad_behavior=0 everything is working as intended.
But then a new question occurs: What the heck is bad behavior good for if you have to deactivate it? Is it blocking dynamic IPs or ranges and what can I do to have it activated (it's a feature!) and have a functioning shop etc... Hmmm... :roll:

Edit: Just did some testing: another (training) shop on the same server (running an updated to 07-10-29 version) has bad_behavior=1 too but isn't displaying this error screen. Really strange :? :?

Posted: Fri 7. Dec 2007, 08:51
by update
Additionally consider the following output
Mein Shop
Shop

<hr />
<h2>Category</h2>

* test
* Top products


<hr />
Top products
katzenklo

das ultimative Klo
10,00 EUR 0% 10,00 EUR Show product details
This is pasted into a CP HTML and isn't rendered sufficiently / completely (or am I on the wrong track?)

And the € sign isn't accepted in the backend - some mystic glyphs are shown and are doubling themselves every time I save the shop preferences while completely mixing up the frontend output :shock:

Posted: Sat 8. Dec 2007, 01:15
by Jensensen
claus wrote:...bad_behavior...
have a look:
http://www.phpwcms.de/forum/viewtopic.php?t=16236

Posted: Sat 8. Dec 2007, 10:19
by update
just updated --> everything's 8) now - thank you :D
edit: only the rendering of <hr /> and so on still not working (see posting further upwards)

Re: trunk 07-12-05 and shop

Posted: Fri 7. Mar 2008, 21:26
by nebenaube
claus wrote:Hi,
I did a plain fresh install of the newest snapshot yesterday. Today I tried to activate the shop and got the famous Warning: Invalid argument supplied for foreach() in ...
This issue seems to be up to date - what a pity! :?
Did it by hand again... :wink:
nebenaube wrote:Greetings, I just upgraded a site from 1.3.3 to 1.3.5 and I am trying to install the shop module.
as noted above, the tables needed to be created so I took the sql file from setup and modified a copy of the setup.php that is in the banner module so as to install the required database tables.

This is the second pass.

Code: Select all

<?php


// do everything in here which is neccessary for module setup

// ceate neccessary db table
$sql = array();

//on edit: integrated the following statements into create statement:
//ALTER TABLE `phpwcms_categories` ADD `cat_pid` INT( 11 ) NOT NULL AFTER `cat_type` ;
//ALTER TABLE `phpwcms_categories` ADD INDEX ( `cat_pid` ) ; 
// made sure that db_prepend was actually matching other tables in the database, note extra '_' if applicable


$sql[0] = "DROP TABLE ".$phpwcms["db_prepend"]."_phpwcms_categories;";
echo $sql[0]."<br />\n";

$sql[1] = "CREATE TABLE ".$phpwcms["db_prepend"]."_phpwcms_categories (
						  `cat_id` int(10) unsigned NOT NULL auto_increment,
						  `cat_type` varchar(255) NOT NULL default '',
                                                  `cat_pid` int(11) NOT NULL,
						  `cat_status` int(1) NOT NULL default '0',
						  `cat_createdate` datetime NOT NULL default '0000-00-00 00:00:00',
						  `cat_changedate` datetime NOT NULL default '0000-00-00 00:00:00',
						  `cat_name` varchar(255) NOT NULL default '',
						  `cat_info` text NOT NULL,
						  PRIMARY KEY  (`cat_id`),
                                                  INDEX(`cat_pid`),
						  KEY `cat_type` (`cat_type`,`cat_status`)
					      ) ENGINE=MyISAM DEFAULT CHARSET=utf8;";

echo $sql[1]."<br />\n";

$sql[2] = "DROP TABLE ".$phpwcms["db_prepend"]."_phpwcms_shop_orders;";
echo $sql[2]."<br />\n";

$sql[3] = "CREATE TABLE ".$phpwcms["db_prepend"]."_phpwcms_shop_orders (
						  `order_id` int(10) unsigned NOT NULL auto_increment,
						  `order_number` varchar(20) NOT NULL default '',
						  `order_date` datetime NOT NULL default '0000-00-00 00:00:00',
						  `order_name` varchar(255) NOT NULL default '',
						  `order_firstname` varchar(255) NOT NULL default '',
						  `order_email` varchar(255) NOT NULL default '',
						  `order_net` float NOT NULL default '0',
						  `order_gross` float NOT NULL default '0',
						  `order_payment` varchar(255) NOT NULL default '',
						  `order_data` mediumtext NOT NULL,
						  `order_status` varchar(100) NOT NULL default '',
						  PRIMARY KEY  (`order_id`),
						  KEY `order_number` (`order_number`,`order_status`)
						) ENGINE=MyISAM DEFAULT CHARSET=utf8;";

echo $sql[3]."<br />\n";

$sql[4] = "DROP TABLE ".$phpwcms["db_prepend"]."_phpwcms_shop_products;";
echo $sql[4]."<br />\n";

$sql[5] = "CREATE TABLE ".$phpwcms["db_prepend"]."_phpwcms_shop_products (
						  `shopprod_id` int(10) unsigned NOT NULL auto_increment,
						  `shopprod_createdate` datetime NOT NULL default '0000-00-00 00:00:00',
						  `shopprod_changedate` datetime NOT NULL default '0000-00-00 00:00:00',
						  `shopprod_status` int(1) unsigned NOT NULL default '0',
						  `shopprod_uid` int(10) unsigned NOT NULL default '0',
						  `shopprod_ordernumber` varchar(255) NOT NULL default '',
						  `shopprod_model` varchar(255) NOT NULL default '',
						  `shopprod_name1` varchar(255) NOT NULL default '',
						  `shopprod_name2` varchar(255) NOT NULL default '',
						  `shopprod_tag` varchar(255) NOT NULL default '',
						  `shopprod_vat` float unsigned NOT NULL default '0',
						  `shopprod_netgross` int(1) unsigned NOT NULL default '0',
						  `shopprod_price` float NOT NULL default '0',
						  `shopprod_maxrebate` float NOT NULL default '0',
						  `shopprod_description0` text NOT NULL,
						  `shopprod_description1` text NOT NULL,
						  `shopprod_description2` text NOT NULL,
						  `shopprod_description3` text NOT NULL,
						  `shopprod_var` mediumtext NOT NULL,
						  `shopprod_category` varchar(255) NOT NULL default '',
						  `shopprod_weight` float NOT NULL default '0',
						  `shopprod_color` varchar(255) NOT NULL default '',
						  `shopprod_size` varchar(255) NOT NULL default '',
						  `shopprod_listall` int(1) unsigned NOT NULL default '0',
						  PRIMARY KEY  (`shopprod_id`),
						  KEY `shopprod_status` (`shopprod_status`),
						  KEY `category` (`shopprod_category`),
						  KEY `tag` (`shopprod_tag`),
						  KEY `all` (`shopprod_listall`)
						) ENGINE=MyISAM DEFAULT CHARSET=utf8;";

echo $sql[5]."<br />\n";


$sql[6] = "DROP TABLE ".$phpwcms["db_prepend"]."_phpwcms_sysvalue;";
echo $sql[6]."<br />\n";

$sql[7] = "CREATE TABLE ".$phpwcms["db_prepend"]."_phpwcms_sysvalue (
						  `sysvalue_key` varchar(255) NOT NULL default '',
						  `sysvalue_group` varchar(255) NOT NULL default '',
						  `sysvalue_lastchange` int(11) NOT NULL default '0',
						  `sysvalue_status` int(1) NOT NULL default '0',
						  `sysvalue_vartype` varchar(100) NOT NULL default '',
						  `sysvalue_value` text NOT NULL,
						  PRIMARY KEY  (`sysvalue_key`),
						  KEY `sysvalue_group` (`sysvalue_group`),
						  KEY `sysvalue_status` (`sysvalue_status`)
					) ENGINE=MyISAM DEFAULT CHARSET=utf8;";

echo $sql[7]."<br />\n";

		
// setup inital ad formats
$sql_error = array();




// first create db tables
if(!_dbQuery($sql[0], 'DROP')) {

	
	//ignore errors
	//$sql_error[0] = '<p class="error">Error DROPPING <b>categories</b> initial database table: '.@htmlentities(@mysql_error(), ENT_QUOTES, PHPWCMS_CHARSET).'</p>';

}

if(!_dbQuery($sql[1], 'CREATE')) {

	$sql_error[1] = '<p class="error">Error creating <b>categories</b> initial database table: '.@htmlentities(@mysql_error(), ENT_QUOTES, PHPWCMS_CHARSET).'</p>';

}

if(!_dbQuery($sql[2], 'DROP')) {

	//ignore errors
	//$sql_error[2] = '<p class="error">Error DROPPING <b>shop_orders</b> initial database table: '.@htmlentities(@mysql_error(), ENT_QUOTES, PHPWCMS_CHARSET).'</p>';

}

if(!_dbQuery($sql[3], 'CREATE')) {

	$sql_error[3] = '<p class="error">Error creating <b>shop_orders</b> initial database table: '.@htmlentities(@mysql_error(), ENT_QUOTES, PHPWCMS_CHARSET).'</p>';

}

if(!_dbQuery($sql[4], 'DROP')) {

	//ignore errors
	//$sql_error[4] = '<p class="error">Error DROPPING <b>shop_products</b> initial database table: '.@htmlentities(@mysql_error(), ENT_QUOTES, PHPWCMS_CHARSET).'</p>';

}

if(!_dbQuery($sql[5], 'CREATE')) {

	$sql_error[5] = '<p class="error">Error creating <b>shop_products</b> initial database table: '.@htmlentities(@mysql_error(), ENT_QUOTES, PHPWCMS_CHARSET).'</p>';

}

if(!_dbQuery($sql[6], 'DROP')) {

	//ignore errors
	//$sql_error[6] = '<p class="error">Error DROPPING <b>sysvalue</b> initial database table: '.@htmlentities(@mysql_error(), ENT_QUOTES, PHPWCMS_CHARSET).'</p>';

}

if(!_dbQuery($sql[7], 'CREATE')) {

	$sql_error[7] = '<p class="error">Error creating <b>sysvalue</b> initial database table: '.@htmlentities(@mysql_error(), ENT_QUOTES, PHPWCMS_CHARSET).'</p>';

}



if(!count($sql_error)) {

	echo '<p>All inital db tables and values were created.</p>';
	echo "<p>Edit .../config/phpwcms/conf.inc.php change Code:<br /> \$phpwcms['SESSION_FEinit'] = 1; // set 1 to enable sessions in frontend, 0 to disable sessions in frontend<br /> Add:  \$phpwcms['Login_IPcheck'] = 0;</p>\n"; 
	echo '<p>Please delete folder <b>setup</b> which can be found inside the module folder here:</p>';
	
} else {

	echo implode(LF, $sql_error);

}


?>
Anyway, I had many of the same problems others had and the problem boiled down to getting the table names in the database to be consistent with the other table names. I can now save preferences and create catagories and products.

To incorporate this in the front end see the tutorial: ShopPHPWCMS.pdf file in the shop-module add-on for phpwcms 1.3.3 at:
http://web.casa-loca.com/index.php?shopmodule

my test site is working perfectly now.