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:
my test site is working perfectly now.