Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Urgent Post Installation Issue, Almost There!


andrec

Recommended Posts

Posted

Hi all I am currently running my own windows 2003 server with IIS6, PHP 5 and MySQL 5. I have another website www.dynamictesting.co.uk already running off this server fine.

 

Hence I do not think that this is a php/mysql error.

 

I manually created a database and then run the sql script. I then amended the includes/config files in includes and admin for connection to local host and selected the correct database.

 

But when navigating to the index.php root file I get the following displayed:

 

I have tried searching various other forums and yahoo, google and can not seem to find a resolution, any help would be much appreciated. This can also be viewed at www.dynamicpcs.co.uk

 

host = $host; $this->user = $user; $this->db = $db; $this->pass = $pass; $this->ConnectDB(); $this->SelectDB(); } # end function /** * Function to connect to MySQL * @author Bobby Easland * @version 1.1 */ function ConnectDB(){ $this->link_id = mysql_connect($this->host, $this->user, $this->pass); } # end function /** * Function to select the database * @author Bobby Easland * @version 1.0 * @return resoource */ function SelectDB(){ return mysql_select_db($this->db); } # end function /** * Function to perform queries * @author Bobby Easland * @version 1.0 * @param string $query SQL statement * @return resource */ function Query($query){ return @mysql_query($query, $this->link_id); } # end function /** * Function to fetch array * @author Bobby Easland * @version 1.0 * @param resource $resource_id * @param string $type MYSQL_BOTH or MYSQL_ASSOC * @return array */ function FetchArray($resource_id, $type = MYSQL_BOTH){ return @mysql_fetch_array($resource_id, $type); } # end function /** * Function to fetch the number of rows * @author Bobby Easland * @version 1.0 * @param resource $resource_id * @return mixed */ function NumRows($resource_id){ return @mysql_num_rows($resource_id); } # end function /** * Function to fetch the last insertID * @author Bobby Easland * @version 1.0 * @return integer */ function InsertID() { return mysql_insert_id(); } /** * Function to free the resource * @author Bobby Easland * @version 1.0 * @param resource $resource_id * @return boolean */ function Free($resource_id){ return @mysql_free_result($resource_id); } # end function /** * Function to add slashes * @author Bobby Easland * @version 1.0 * @param string $data * @return string */ function Slashes($data){ return addslashes($data); } # end function /** * Function to perform DB inserts and updates - abstracted from osCommerce-MS-2.2 project * @author Bobby Easland * @version 1.0 * @param string $table Database table * @param array $data Associative array of columns / values * @param string $action insert or update * @param string $parameters * @return resource */ function DBPerform($table, $data, $action = 'insert', $parameters = '') { reset($data); if ($action == 'insert') { $query = 'INSERT INTO `' . $table . '` ('; while (list($columns, ) = each($data)) { $query .= '`' . $columns . '`, '; } $query = substr($query, 0, -2) . ') values ('; reset($data); while (list(, $value) = each($data)) { switch ((string)$value) { case 'now()': $query .= 'now(), '; break; case 'null': $query .= 'null, '; break; default: $query .= "'" . $this->Slashes($value) . "', "; break; } } $query = substr($query, 0, -2) . ')'; } elseif ($action == 'update') { $query = 'UPDATE `' . $table . '` SET '; while (list($columns, $value) = each($data)) { switch ((string)$value) { case 'now()': $query .= '`' .$columns . '`=now(), '; break; case 'null': $query .= '`' .$columns .= '`=null, '; break; default: $query .= '`' .$columns . "`='" . $this->Slashes($value) . "', "; break; } } $query = substr($query, 0, -2) . ' WHERE ' . $parameters; } return $this->Query($query); } # end function } # end class /** * Ultimate SEO URLs Installer and Configuration Class * * Ultimate SEO URLs installer and configuration class offers a modular * and easy to manage method of configuration. The class enables the base * class to be configured and installed on the fly without the hassle of * calling additional scripts or executing SQL. * @package Ultimate-SEO-URLs * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version 1.1 * @link http://www.oscommerce-freelancers.com/ osCommerce-Freelancers * @copyright Copyright 2005, Bobby Easland * @author Bobby Easland */ class SEO_URL_INSTALLER{ /** * The default_config array has all the default settings which should be all that is needed to make the base class work. * @var array */ var $default_config; /** * Database object * @var object */ var $DB; /** * $attributes array holds information about this instance * @var array */ var $attributes; /** * SEO_URL_INSTALLER class constructor * @author Bobby Easland * @version 1.1 */ function SEO_URL_INSTALLER(){ $this->attributes = array(); $x = 0; $this->default_config = array(); $this->default_config['SEO_ENABLED'] = array('DEFAULT' => 'true', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Enable SEO URLs?', 'SEO_ENABLED', 'true', 'Enable the SEO URLs? This is a global setting and will turn them off completely.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); $x++; $this->default_config['SEO_ADD_CPATH_TO_PRODUCT_URLS'] = array('DEFAULT' => 'false', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Add cPath to product URLs?', 'SEO_ADD_CPATH_TO_PRODUCT_URLS', 'false', 'This setting will append the cPath to the end of product URLs (i.e. - some-product-p-1.html?cPath=xx).', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); $x++; $this->default_config['SEO_ADD_CAT_PARENT'] = array('DEFAULT' => 'true', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Add category parent to begining of URLs?', 'SEO_ADD_CAT_PARENT', 'true', 'This setting will add the category parent name to the beginning of the category URLs (i.e. - parent-category-c-1.html).', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); $x++; $this->default_config['SEO_URLS_FILTER_SHORT_WORDS'] = array('DEFAULT' => '3', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Filter Short Words', 'SEO_URLS_FILTER_SHORT_WORDS', '3', 'This setting will filter words less than or equal to the value from the URL.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, NULL)" ); $x++; $this->default_config['USE_SEO_CACHE_GLOBAL'] = array('DEFAULT' => 'true', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Enable SEO cache to save queries?', 'USE_SEO_CACHE_GLOBAL', 'true', 'This is a global setting and will turn off caching completely.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); $x++; $this->default_config['USE_SEO_CACHE_PRODUCTS'] = array('DEFAULT' => 'true', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Enable product cache?', 'USE_SEO_CACHE_PRODUCTS', 'true', 'This will turn off caching for the products.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); $x++; $this->default_config['USE_SEO_CACHE_CATEGORIES'] = array('DEFAULT' => 'true', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Enable categories cache?', 'USE_SEO_CACHE_CATEGORIES', 'true', 'This will turn off caching for the categories.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); $x++; $this->default_config['USE_SEO_CACHE_MANUFACTURERS'] = array('DEFAULT' => 'true', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Enable manufacturers cache?', 'USE_SEO_CACHE_MANUFACTURERS', 'true', 'This will turn off caching for the manufacturers.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); $x++; $this->default_config['USE_SEO_CACHE_ARTICLES'] = array('DEFAULT' => 'true', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Enable articles cache?', 'USE_SEO_CACHE_ARTICLES', 'true', 'This will turn off caching for the articles.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); $x++; $this->default_config['USE_SEO_CACHE_TOPICS'] = array('DEFAULT' => 'true', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Enable topics cache?', 'USE_SEO_CACHE_TOPICS', 'true', 'This will turn off caching for the article topics.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); $x++; $this->default_config['USE_SEO_CACHE_INFO_PAGES'] = array('DEFAULT' => 'true', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Enable information cache?', 'USE_SEO_CACHE_INFO_PAGES', 'true', 'This will turn off caching for the information pages.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); //ojp b $x++; $this->default_config['USE_SEO_CACHE_LINKS'] = array('DEFAULT' => 'true', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Enable link directory cache?', 'USE_SEO_CACHE_LINKS', 'true', 'This will turn off caching for the link category pages.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); //ojp e $x++; $this->default_config['USE_SEO_REDIRECT'] = array('DEFAULT' => 'true', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Enable automatic redirects?', 'USE_SEO_REDIRECT', 'true', 'This will activate the automatic redirect code and send 301 headers for old to new URLs.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); $x++; $this->default_config['SEO_REWRITE_TYPE'] = array('DEFAULT' => 'Rewrite', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Choose URL Rewrite Type', 'SEO_REWRITE_TYPE', 'Rewrite', 'Choose which SEO URL format to use.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''Rewrite''),')" ); $x++; $this->default_config['SEO_CHAR_CONVERT_SET'] = array('DEFAULT' => '', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Enter special character conversions', 'SEO_CHAR_CONVERT_SET', '', 'This setting will convert characters.

 

The format MUST be in the form: char=>conv,char2=>conv2', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, NULL)" ); $x++; $this->default_config['SEO_REMOVE_ALL_SPEC_CHARS'] = array('DEFAULT' => 'false', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Remove all non-alphanumeric characters?', 'SEO_REMOVE_ALL_SPEC_CHARS', 'false', 'This will remove all non-letters and non-numbers. This should be handy to remove all special characters with 1 setting.', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),')" ); $x++; $this->default_config['SEO_URLS_CACHE_RESET'] = array('DEFAULT' => 'false', 'QUERY' => "INSERT INTO `".TABLE_CONFIGURATION."` VALUES ('', 'Reset SEO URLs Cache', 'SEO_URLS_CACHE_RESET', 'false', 'This will reset the cache data for SEO', GROUP_INSERT_ID, ".$x.", NOW(), NOW(), 'tep_reset_cache_data_seo_urls', 'tep_cfg_select_option(array(''reset'', ''false''),')" ); $this->init(); } # end class constructor /** * Initializer - if there are settings not defined the default config will be used and database settings installed. * @author Bobby Easland * @version 1.1 */ function init(){ foreach( $this->default_config as $key => $value ){ $container[] = defined($key) ? 'true' : 'false'; } # end foreach $this->attributes['IS_DEFINED'] = in_array('false', $container) ? false : true; switch(true){ case ( !$this->attributes['IS_DEFINED'] ): $this->eval_defaults(); $this->DB = new SEO_DataBase(DB_SERVER, DB_SERVER_USERNAME, DB_DATABASE, DB_SERVER_PASSWORD); $sql = "SELECT configuration_key, configuration_value FROM " . TABLE_CONFIGURATION . " WHERE configuration_key LIKE '%SEO%'"; $result = $this->DB->Query($sql); $num_rows = $this->DB->NumRows($result); $this->DB->Free($result); $this->attributes['IS_INSTALLED'] = (sizeof($container) == $num_rows) ? true : false; if ( !$this->attributes['IS_INSTALLED'] ){ $this->install_settings(); } break; default: $this->attributes['IS_INSTALLED'] = true; break; } # end switch } # end function /** * This function evaluates the default serrings into defined constants * @author Bobby Easland * @version 1.0 */ function eval_defaults(){ foreach( $this->default_config as $key => $value ){ define($key, $value['DEFAULT']); } # end foreach } # end function /** * This function removes the database settings (configuration and cache) * @author Bobby Easland * @version 1.0 */ function uninstall_settings(){ $this->DB->Query("DELETE FROM `".TABLE_CONFIGURATION_GROUP."` WHERE `configuration_group_title` LIKE '%SEO%'"); $this->DB->Query("DELETE FROM `".TABLE_CONFIGURATION."` WHERE `configuration_key` LIKE '%SEO%'"); $this->DB->Query("DROP TABLE IF EXISTS `cache`"); } # end function /** * This function installs the database settings * @author Bobby Easland * @version 1.0 */ function install_settings(){ $this->uninstall_settings(); $sort_order_query = "SELECT MAX(sort_order) as max_sort FROM `".TABLE_CONFIGURATION_GROUP."`"; $sort = $this->DB->FetchArray( $this->DB->Query($sort_order_query) ); $next_sort = $sort['max_sort'] + 1; $insert_group = "INSERT INTO `".TABLE_CONFIGURATION_GROUP."` VALUES ('', 'SEO URLs', 'Options for Ultimate SEO URLs by Chemo', '".$next_sort."', '1')"; $this->DB->Query($insert_group); $group_id = $this->DB->InsertID(); foreach ($this->default_config as $key => $value){ $sql = str_replace('GROUP_INSERT_ID', $group_id, $value['QUERY']); $this->DB->Query($sql); } $insert_cache_table = "CREATE TABLE `cache` ( `cache_id` varchar(32) NOT NULL default '', `cache_language_id` tinyint(1) NOT NULL default '0', `cache_name` varchar(255) NOT NULL default '', `cache_data` mediumtext NOT NULL, `cache_global` tinyint(1) NOT NULL default '1', `cache_gzip` tinyint(1) NOT NULL default '1', `cache_method` varchar(20) NOT NULL default 'RETURN', `cache_date` datetime NOT NULL default '0000-00-00 00:00:00', `cache_expires` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`cache_id`,`cache_language_id`), KEY `cache_id` (`cache_id`), KEY `cache_language_id` (`cache_language_id`), KEY `cache_global` (`cache_global`) ) TYPE=MyISAM;"; $this->DB->Query($insert_cache_table); } # end function } # end class /** * Ultimate SEO URLs Base Class * * Ultimate SEO URLs offers search engine optimized URLS for osCommerce * based applications. Other features include optimized performance and * automatic redirect script. * @package Ultimate-SEO-URLs * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version 2.1 * @link http://www.oscommerce-freelancers.com/ osCommerce-Freelancers * @copyright Copyright 2005, Bobby Easland * @author Bobby Easland */ class SEO_URL{ /** * $cache is the per page data array that contains all of the previously stripped titles * @var array */ var $cache; /** * $languages_id contains the language_id for this instance * @var integer */ var $languages_id; /** * $attributes array contains all the required settings for class * @var array */ var $attributes; /** * $base_url is the NONSSL URL for site * @var string */ var $base_url; /** * $base_url_ssl is the secure URL for the site * @var string */ var $base_url_ssl; /** * $performance array contains evaluation metric data * @var array */ var $performance; /** * $timestamp simply holds the temp variable for time calculations * @var float */ var $timestamp; /** * $reg_anchors holds the anchors used by the .htaccess rewrites * @var array */ var $reg_anchors; /** * $cache_query is the resource_id used for database cache logic * @var resource */ var $cache_query; /** * $cache_file is the basename of the cache database entry * @var string */ var $cache_file; /** * $data array contains all records retrieved from database cache * @var array */ var $data; /** * $need_redirect determines whether the URL needs to be redirected * @var boolean */ var $need_redirect; /** * $is_seopage holds value as to whether page is in allowed SEO pages * @var boolean */ var $is_seopage; /** * $uri contains the $_SERVER['REQUEST_URI'] value * @var string */ var $uri; /** * $real_uri contains the $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING'] value * @var string */ var $real_uri; /** * $uri_parsed contains the parsed uri value array * @var array */ var $uri_parsed; /** * $path_info contains the getenv('PATH_INFO') value * @var string */ var $path_info; /** * $DB is the database object * @var object */ var $DB; /** * $installer is the installer object * @var object */ var $installer; /** * SEO_URL class constructor * @author Bobby Easland * @version 1.1 * @param integer $languages_id */ function SEO_URL($languages_id){ global $session_started, $SID; $this->installer = new SEO_URL_INSTALLER; $this->DB = new SEO_DataBase(DB_SERVER, DB_SERVER_USERNAME, DB_DATABASE, DB_SERVER_PASSWORD); $this->languages_id = (int)$languages_id; $this->data = array(); //ojp FILENAME_LINKS $seo_pages = array(FILENAME_DEFAULT, FILENAME_PRODUCT_INFO, FILENAME_POPUP_IMAGE, FILENAME_PRODUCT_REVIEWS, FILENAME_PRODUCT_REVIEWS_INFO); if ( defined('FILENAME_ARTICLES') ) $seo_pages[] = FILENAME_ARTICLES; if ( defined('FILENAME_ARTICLE_INFO') ) $seo_pages[] = FILENAME_ARTICLE_INFO; if ( defined('FILENAME_INFORMATION') ) $seo_pages[] = FILENAME_INFORMATION; if ( defined('FILENAME_LINKS') ) $seo_pages[] = FILENAME_LINKS; //ojp USE_SEO_CACHE_LINKS $this->attributes = array('PHP_VERSION' => PHP_VERSION, 'SESSION_STARTED' => $session_started, 'SID' => $SID, 'SEO_ENABLED' => defined('SEO_ENABLED') ? SEO_ENABLED : 'false', 'SEO_ADD_CPATH_TO_PRODUCT_URLS' => defined('SEO_ADD_CPATH_TO_PRODUCT_URLS') ? SEO_ADD_CPATH_TO_PRODUCT_URLS : 'false', 'SEO_ADD_CAT_PARENT' => defined('SEO_ADD_CAT_PARENT') ? SEO_ADD_CAT_PARENT : 'true', 'USE_SEO_CACHE_GLOBAL' => defined('USE_SEO_CACHE_GLOBAL') ? USE_SEO_CACHE_GLOBAL : 'false', 'USE_SEO_CACHE_PRODUCTS' => defined('USE_SEO_CACHE_PRODUCTS') ? USE_SEO_CACHE_PRODUCTS : 'false', 'USE_SEO_CACHE_CATEGORIES' => defined('USE_SEO_CACHE_CATEGORIES') ? USE_SEO_CACHE_CATEGORIES : 'false', 'USE_SEO_CACHE_MANUFACTURERS' => defined('USE_SEO_CACHE_MANUFACTURERS') ? USE_SEO_CACHE_MANUFACTURERS : 'false', 'USE_SEO_CACHE_ARTICLES' => defined('USE_SEO_CACHE_ARTICLES') ? USE_SEO_CACHE_ARTICLES : 'false', 'USE_SEO_CACHE_TOPICS' => defined('USE_SEO_CACHE_TOPICS') ? USE_SEO_CACHE_TOPICS : 'false', 'USE_SEO_CACHE_INFO_PAGES' => defined('USE_SEO_CACHE_INFO_PAGES') ? USE_SEO_CACHE_INFO_PAGES : 'false', 'USE_SEO_CACHE_LINKS' => defined('USE_SEO_CACHE_LINKS') ? USE_SEO_CACHE_LINKS : 'false', 'USE_SEO_REDIRECT' => defined('USE_SEO_REDIRECT') ? USE_SEO_REDIRECT : 'false', 'SEO_REWRITE_TYPE' => defined('SEO_REWRITE_TYPE') ? SEO_REWRITE_TYPE : 'false', 'SEO_URLS_FILTER_SHORT_WORDS' => defined('SEO_URLS_FILTER_SHORT_WORDS') ? SEO_URLS_FILTER_SHORT_WORDS : 'false', 'SEO_CHAR_CONVERT_SET' => defined('SEO_CHAR_CONVERT_SET') ? $this->expand(SEO_CHAR_CONVERT_SET) : 'false', 'SEO_REMOVE_ALL_SPEC_CHARS' => defined('SEO_REMOVE_ALL_SPEC_CHARS') ? SEO_REMOVE_ALL_SPEC_CHARS : 'false', 'SEO_PAGES' => $seo_pages, 'SEO_INSTALLER' => $this->installer->attributes ); $this->base_url = HTTP_SERVER . DIR_WS_HTTP_CATALOG; $this->base_url_ssl = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG; $this->cache = array(); $this->timestamp = 0; //ojp lPath -links- definition $this->reg_anchors = array('products_id' => '-p-', 'cPath' => '-c-', 'manufacturers_id' => '-m-', 'pID' => '-pi-', 'tPath' => '-t-', 'articles_id' => '-a-', 'products_id_review' => '-pr-', 'products_id_review_info' => '-pri-', 'info_id' => '-i-', 'lPath' => '-links-' ); $this->performance = array('NUMBER_URLS_GENERATED' => 0, 'NUMBER_QUERIES' => 0, 'CACHE_QUERY_SAVINGS' => 0, 'NUMBER_STANDARD_URLS_GENERATED' => 0, 'TOTAL_CACHED_PER_PAGE_RECORDS' => 0, 'TOTAL_TIME' => 0, 'TIME_PER_URL' => 0, 'QUERIES' => array() ); //ojp generate_link_cache if ($this->attributes['USE_SEO_CACHE_GLOBAL'] == 'true'){ $this->cache_file = 'seo_urls_v2_'; $this->cache_gc(); if ( $this->attributes['USE_SEO_CACHE_PRODUCTS'] == 'true' ) $this->generate_products_cache(); if ( $this->attributes['USE_SEO_CACHE_CATEGORIES'] == 'true' ) $this->generate_categories_cache(); if ( $this->attributes['USE_SEO_CACHE_MANUFACTURERS'] == 'true' ) $this->generate_manufacturers_cache(); if ( $this->attributes['USE_SEO_CACHE_ARTICLES'] == 'true' && defined('TABLE_ARTICLES_DESCRIPTION')) $this->generate_articles_cache(); if ( $this->attributes['USE_SEO_CACHE_TOPICS'] == 'true' && defined('TABLE_TOPICS_DESCRIPTION')) $this->generate_topics_cache(); if ( $this->attributes['USE_SEO_CACHE_INFO_PAGES'] == 'true' && defined('TABLE_INFORMATION')) $this->generate_information_cache(); if ( $this->attributes['USE_SEO_CACHE_LINK_PAGES'] == 'true' && defined('TABLE_LINK_CATEGORIES')) $this->generate_links_cache(); } # end if if ($this->attributes['USE_SEO_REDIRECT'] == 'true'){ $this->check_redirect(); } # end if } # end constructor /** * Function to return SEO URL link SEO'd with stock generattion for error fallback * @author Bobby Easland * @version 1.0 * @param string $page Base script for URL * @param string $parameters URL parameters * @param string $connection NONSSL/SSL * @param boolean $add_session_id Switch to add osCsid * @return string Formed href link */ function href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true){ $this->start($this->timestamp); $this->performance['NUMBER_URLS_GENERATED']++; if ( !in_array($page, $this->attributes['SEO_PAGES']) || $this->attributes['SEO_ENABLED'] == 'false' ) { return $this->stock_href_link($page, $parameters, $connection, $add_session_id); } $link = $connection == 'NONSSL' ? $this->base_url : $this->base_url_ssl; $separator = '?'; if ($this->not_null($parameters)) { $link .= $this->parse_parameters($page, $parameters, $separator); } else { $link .= $page; } $link = $this->add_sid($link, $add_session_id, $connection, $separator); $this->stop($this->timestamp, $time); $this->performance['TOTAL_TIME'] += $time; return htmlspecialchars(utf8_encode($link)); } # end function /** * Stock function, fallback use */ function stock_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) { global $request_type, $session_started, $SID; if (!$this->not_null($page)) { die('

 

Error!

 

Unable to determine the page link!

 

'); } //ojp ALT definition if ($page == '/') $page = ''; if ($connection == 'ALT') { $link = HTTP_ALT_SERVER . DIR_WS_HTTP_CATALOG; } elseif ($connection == 'NONSSL') { $link = HTTP_SERVER . DIR_WS_HTTP_CATALOG; } elseif ($connection == 'SSL') { if (ENABLE_SSL == true) { $link = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG; } else { $link = HTTP_SERVER . DIR_WS_HTTP_CATALOG; } } else { die('

 

Error!

 

Unable to determine connection method on a link!

 

Known methods: NONSSL, SSL, ALT

 

'); } if ($this->not_null($parameters)) { $link .= $page . '?' . $this->output_string($parameters); $separator = '&'; } else { $link .= $page; $separator = '?'; } while ( (substr($link, -1) == '&') || (substr($link, -1) == '?') ) $link = substr($link, 0, -1); if ( ($add_session_id == true) && ($session_started == true) && (SESSION_FORCE_COOKIE_USE == 'False') ) { if ($this->not_null($SID)) { $_sid = $SID; } elseif ( ( ($request_type == 'NONSSL') && ($connection == 'SSL') && (ENABLE_SSL == true) ) || ( ($request_type == 'SSL') && ($connection == 'NONSSL') ) ) { if (HTTP_COOKIE_DOMAIN != HTTPS_COOKIE_DOMAIN) { $_sid = $this->SessionName() . '=' . $this->SessionID(); } } } if ( (SEARCH_ENGINE_FRIENDLY_URLS == 'true') && ($search_engine_safe == true) ) { while (strstr($link, '&&')) $link = str_replace('&&', '&', $link); $link = str_replace('?', '/', $link); $link = str_replace('&', '/', $link); $link = str_replace('=', '/', $link); $separator = '?'; } if (isset($_sid)) { $link .= $separator . $_sid; } $this->performance['NUMBER_STANDARD_URLS_GENERATED']++; $this->cache['STANDARD_URLS'][] = $link; $time = 0; $this->stop($this->timestamp, $time); $this->performance['TOTAL_TIME'] += $time; return htmlspecialchars(utf8_encode($link)); } # end default tep_href function /** * Function to append session ID if needed * @author Bobby Easland * @version 1.0 * @param string $link * @param boolean $add_session_id * @param string $connection * @param string $separator * @return string */ function add_sid( $link, $add_session_id, $connection, $separator ){ global $request_type; // global variable if ( ($add_session_id == true) && ($this->attributes['SESSION_STARTED'] == true) && (SESSION_FORCE_COOKIE_USE == 'False') ) { if ($this->not_null($this->attributes['SID'])) { $_sid = $this->attributes['SID']; } elseif ( ( ($request_type == 'NONSSL') && ($connection == 'SSL') && (ENABLE_SSL == true) ) || ( ($request_type == 'SSL') && ($connection == 'NONSSL') ) ) { if (HTTP_COOKIE_DOMAIN != HTTPS_COOKIE_DOMAIN) { $_sid = $this->SessionName() . '=' . $this->SessionID(); } } } if ( isset($_sid) ) return $link . $separator . $_sid; else return $link; } # end function /** * SFunction to parse the parameters into an SEO URL * @author Bobby Easland * @version 1.1 * @param string $page * @param string $params * @param string $separator NOTE: passed by reference * @return string */ function parse_parameters($page, $params, &$separator){ $p = @explode('&', $params); krsort($p); $container = array(); foreach ($p as $index => $valuepair){ $p2 = @explode('=', $valuepair); switch ($p2[0]){ case 'products_id': switch(true){ case ( $page == FILENAME_PRODUCT_INFO && !$this->is_attribute_string($p2[1]) ): $url = $this->make_url($page, $this->get_product_name($p2[1]), $p2[0], $p2[1], '.html', $separator); break; case ( $page == FILENAME_PRODUCT_REVIEWS ): $url = $this->make_url($page, $this->get_product_name($p2[1]), 'products_id_review', $p2[1], '.html', $separator); break; case ( $page == FILENAME_PRODUCT_REVIEWS_INFO ): $url = $this->make_url($page, $this->get_product_name($p2[1]), 'products_id_review_info', $p2[1], '.html', $separator); break; default: $container[$p2[0]] = $p2[1]; break; } # end switch break; case 'cPath': switch(true){ case ($page == FILENAME_DEFAULT): $url = $this->make_url($page, $this->get_category_name($p2[1]), $p2[0], $p2[1], '.html', $separator); break; case ( !$this->is_product_string($params) ): if ( $this->attributes['SEO_ADD_CPATH_TO_PRODUCT_URLS'] == 'true' ){ $container[$p2[0]] = $p2[1]; } break; default: $container[$p2[0]] = $p2[1]; break; } # end switch break; // case 'manufacturers_id': // switch(true){ // case ($page == FILENAME_DEFAULT && !$this->is_cPath_string($params) && !$this->is_product_string($params) ): case 'manufacturers_id': switch(true){ case ($page == FILENAME_DEFAULT && !$this->is_cPath_string($params) && !$this->is_product_string($params) && strlen($this->get_manufacturer_name($p2[1]))>0 ) : $url = $this->make_url($page, $this->get_manufacturer_name($p2[1]), $p2[0], $p2[1], '.html', $separator); break; case (!$this->is_product_string($params)): default: $container[$p2[0]] = $p2[1]; break; } # end switch break; case 'pID': switch(true){ case ($page == FILENAME_POPUP_IMAGE): $url = $this->make_url($page, $this->get_product_name($p2[1]), $p2[0], $p2[1], '.html', $separator); break; default: $container[$p2[0]] = $p2[1]; break; } # end switch break; case 'tPath': switch(true){ case ($page == FILENAME_ARTICLES): $url = $this->make_url($page, $this->get_topic_name($p2[1]), $p2[0], $p2[1], '.html', $separator); break; default: $container[$p2[0]] = $p2[1]; break; } # end switch break; //ojp lPath case 'lPath': switch(true){ case ($page == FILENAME_LINKS): $url = $this->make_url($page, $this->get_link_name($p2[1]), $p2[0], $p2[1], '.html', $separator); break; default: $container[$p2[0]] = $p2[1]; break; } # end switch break; case 'articles_id': switch(true){ case ($page == FILENAME_ARTICLE_INFO): $url = $this->make_url($page, $this->get_article_name($p2[1]), $p2[0], $p2[1], '.html', $separator); break; default: $container[$p2[0]] = $p2[1]; break; } # end switch break; case 'info_id': switch(true){ case ($page == FILENAME_INFORMATION): $url = $this->make_url($page, $this->get_information_name($p2[1]), $p2[0], $p2[1], '.html', $separator); break; default: $container[$p2[0]] = $p2[1]; break; } # end switch break; default: $container[$p2[0]] = $p2[1]; break; } # end switch } # end foreach $p $url = isset($url) ? $url : $page; if ( sizeof($container) > 0 ){ if ( $imploded_params = $this->implode_assoc($container) ){ $url .= $separator . $this->output_string( $imploded_params ); $separator = '&'; } } return $url; } # end function /** * Function to return the generated SEO URL * @author Bobby Easland * @version 1.0 * @param string $page * @param string $string Stripped, formed anchor * @param string $anchor_type Parameter type (products_id, cPath, etc.) * @param integer $id * @param string $extension Default = .html * @param string $separator NOTE: passed by reference * @return string */ function make_url($page, $string, $anchor_type, $id, $extension = '.html', &$separator){ // Right now there is but one rewrite method since cName was dropped // In the future there will be additional methods here in the switch switch ( $this->attributes['SEO_REWRITE_TYPE'] ){ case 'Rewrite': return $string . $this->reg_anchors[$anchor_type] . $id . $extension; break; default: break; } # end switch } # end function /** * Function to get the product name. Use evaluated cache, per page cache, or database query in that order of precedent * @author Bobby Easland * @version 1.1 * @param integer $pID * @return string Stripped anchor text */ function get_product_name($pID){ switch(true){ case ($this->attributes['USE_SEO_CACHE_GLOBAL'] == 'true' && defined('PRODUCT_NAME_' . $pID)): $this->performance['CACHE_QUERY_SAVINGS']++; $return = constant('PRODUCT_NAME_' . $pID); $this->cache['PRODUCTS'][$pID] = $return; break; case ($this->attributes['USE_SEO_CACHE_GLOBAL'] == 'true' && isset($this->cache['PRODUCTS'][$pID])): $this->performance['CACHE_QUERY_SAVINGS']++; $return = $this->cache['PRODUCTS'][$pID]; break; default: $this->performance['NUMBER_QUERIES']++; $sql = "SELECT products_name as pName FROM ".TABLE_PRODUCTS_DESCRIPTION." WHERE products_id='".(int)$pID."' AND language_id='".(int)$this->languages_id."' LIMIT 1"; $result = $this->DB->FetchArray( $this->DB->Query( $sql ) ); $pName = $this->strip( $result['pName'] ); $this->cache['PRODUCTS'][$pID] = $pName; $this->performance['QUERIES']['PRODUCTS'][] = $sql; $return = $pName; break; } # end switch return $return; } # end function /** * Function to get the category name. Use evaluated cache, per page cache, or database query in that order of precedent * @author Bobby Easland * @version 1.1 * @param integer $cID NOTE: passed by reference * @return string Stripped anchor text */ function get_category_name(&$cID){ $full_cPath = $this->get_full_cPath($cID, $single_cID); // full cPath needed for uniformity switch(true){ case ($this->attributes['USE_SEO_CACHE_GLOBAL'] == 'true' && defined('CATEGORY_NAME_' . $full_cPath)): $this->performance['CACHE_QUERY_SAVINGS']++; $return = constant('CATEGORY_NAME_' . $full_cPath); $this->cache['CATEGORIES'][$full_cPath] = $return; break; case ($this->attributes['USE_SEO_CACHE_GLOBAL'] == 'true' && isset($this->cache['CATEGORIES'][$full_cPath])): $this->performance['CACHE_QUERY_SAVINGS']++; $return = $this->cache['CATEGORIES'][$full_cPath]; break; default: $this->performance['NUMBER_QUERIES']++; switch(true){ case ($this->attributes['SEO_ADD_CAT_PARENT'] == 'true'): $sql = "SELECT c.categories_id, c.parent_id, cd.categories_name as cName, cd2.categories_name as pName FROM ".TABLE_CATEGORIES." c, ".TABLE_CATEGORIES_DESCRIPTION." cd LEFT JOIN ".TABLE_CATEGORIES_DESCRIPTION." cd2 ON c.parent_id=cd2.categories_id AND cd2.language_id='".(int)$this->languages_id."' WHERE c.categories_id='".(int)$single_cID."' AND cd.categories_id='".(int)$single_cID."' AND cd.language_id='".(int)$this->languages_id."' LIMIT 1"; $result = $this->DB->FetchArray( $this->DB->Query( $sql ) ); $cName = $this->not_null($result['pName']) ? $result['pName'] . ' ' . $result['cName'] : $result['cName']; break; default: $sql = "SELECT categories_name as cName FROM ".TABLE_CATEGORIES_DESCRIPTION." WHERE categories_id='".(int)$single_cID."' AND language_id='".(int)$this->languages_id."' LIMIT 1"; $result = $this->DB->FetchArray( $this->DB->Query( $sql ) ); $cName = $result['cName']; break; } $cName = $this->strip($cName); $this->cache['CATEGORIES'][$full_cPath] = $cName; $this->performance['QUERIES']

  • 2 weeks later...
Posted

I have now got this problem sorted, the reason for this was because I was using php 5 and mysql 5, now using older versions and this now works fine.

Posted
I have now got this problem sorted, the reason for this was because I was using php 5 and mysql 5, now using older versions and this now works fine.

 

Seems like you had a similar problem that I am now having. I copied the 'Catalog' and 'Extras' folders to my ftp site. Then I ran the installation procedures at www.bladepaintball.com/catalog/install.

 

The program located the database but when it attempted to find the /install/sql? file it kept saying that it did not exist. Did I load the program incorrectly or setup the database incorrect?

 

Any info would be helpful. Thx.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...