'0',
'Commercial use level 1' => '40',
'Commercial use level 2' => '65',
'Commercial use level 3' => '90',
'Commercial use level 4' => '115',
'Commercial use level 5' => '140'
);
# array corresponding country abbreviations to full country category names
$countriesIndex = array(
'AUS' => 'Australia',
'AUT' => 'Austria',
'Awa' => 'Awards Ceremonies',
'awa' => 'Awards Ceremonies',
'BER' => 'Bermuda',
'BIG' => 'Bosnia',
'BUL' => 'Bulgaria',
'BRA' => 'Brazil',
'CAN' => 'Canada',
'CZE' => 'Czech Republic',
'CRO' => 'Croatia',
'ESP' => 'Spain',
'FIN' => 'Finland',
'FRA' => 'France',
'GER' => 'Germany',
'GBR' => 'Great Britain',
'GRE' => 'Greece',
'HUN' => 'Hungary',
'IRE' => 'Ireland',
'IRL' => 'Ireland',
'ITA' => 'Italy',
'JPN' => 'Japan',
'KOR' => 'South Korea',
'LAT' => 'Latvia',
'MIS' => 'Miscellaneous',
'MON' => 'Monaco',
'NED' => 'Netherlands',
'NZL' => 'New Zealand',
'NOR' => 'Norway',
'POL' => 'Poland',
'ROU' => 'Romania',
'ROM' => 'Romania',
'RUS' => 'Russia',
'SLO' => 'Slovenia',
'SRB' => 'Serbia',
'SVK' => 'Slovakia',
'SWE' => 'Sweden',
'SUI' => 'Switzerland',
'ISV' => 'US Virgin Islands',
'USA' => 'United States of America',
);
# connect to the database and select the database we're going to be using
if(!mysql_connect("fti.powwebmysql.com",'cubecart_user','cubecart_friend3'))
print "Could not connect to db server: ".mysql_error();
if(!mysql_select_db("cc_bobsleighphotos"))
print "Could not select db: ".mysql_error();
# get the id of the licensing option name, named above that we want to add
# to each product here. Then, we get all the option values associated
# with this option name
$q = "SELECT option_id
FROM cc_CubeCart_options_top
WHERE option_name = '$optionName'";
$optionNames = mysql_query($q);
# there should only be one result, if not, well, we just take the first one then
$optionNameId = mysql_fetch_assoc($optionNames);
$optionNameId = $optionNameId['option_id'];
# now we get all the option values associated with this option name
$q = "SELECT *
FROM cc_CubeCart_options_mid
WHERE father_id = $optionNameId";
$optionValuesResult = mysql_query($q);
$optionValues = array();
# collect the option value ids into an array for later use
while($optionValue = mysql_fetch_assoc($optionValuesResult))
$optionValues[] = $optionValue;
# select the products that are not set as digital downloads yet
# all products on the site are digital downloads. So, these selected
# products should be the ones just uploaded to the catalogue
$q = "SELECT *
FROM cc_CubeCart_inventory
WHERE digital = 0";
# select ALL photos
// $q = "SELECT *
// FROM cc_CubeCart_inventory";
# selects photos from the bodine challenge
// $q = "SELECT *
// FROM cc_CubeCart_inventory
// WHERE productCode LIKE '%bodine%'";
# selects photos from the koenigsee 2007 championship
// $q = "SELECT *
// FROM cc_CubeCart_inventory
// WHERE productCode LIKE '%koenigsee%'";
$photos = mysql_query($q);
# step through each photo that has not yet been marked as a digital download
# and perform the necessary querys to mark it as a digital download and
# designate the location of the downloadable file
while($row = mysql_fetch_assoc($photos))
{
// # convert the download file location to john's site from mine
// $oldPath = "/home/users/web/b2932/pow.bramey/cubecart4/downloads";
// $newPath = "/home/users/web/b2373/pow.fti/data/bobsleighphotos_downloads";
// $newLocation = str_replace($oldPath,$newPath,$row['digitalDir']);
// $q = "UPDATE cc_CubeCart_inventory
// SET digitalDir = '$newLocation'
// WHERE productId = {$row['productId']}";
// mysql_query($q);
// if($err = mysql_error())
// print "Could not update {$row['name']}: $err
";
//
// continue;
$addDigital = true;
# add this product to the correct country category
# the first three letters of the product name are the country abbreviation
# used by John Nielsen to designate which country this photo belongs to
$countryName = GetCountryName($row['name']);
$q = "SELECT *
FROM cc_CubeCart_category
WHERE cat_name = '$countryName'";
$countries = mysql_query($q);
# check for mysql errors
if($err = mysql_error())
print "Couldn't find country $countryName in database for {$row['name']}: $err
";
# check if the country was found in the data base
else if(($numRows = mysql_num_rows($countries)) !== 1)
{
if($numRows < 1)
print "No category found for $countryName for {$row['name']}. $numRows rows were found.
";
else
print "Multiple category matches found for $countryName for {$row['name']}.
";
$addDigital = false;
}
# there should only be one country by the name we're looking for
# so we can just fetch the first row from the result set
else
{
$country = mysql_fetch_assoc($countries);
# check to see if this product is already associated with this country
$q = "SELECT *
FROM cc_CubeCart_cats_idx
WHERE cat_id = {$country['cat_id']}
AND productId = {$row['productId']}";
$catAssociations = mysql_query($q);
# if the number of rows is 0, then we can go ahead and add the product-
# category association, if it is great than zero, then we don't want to
# add duplicates
if(mysql_num_rows($catAssociations) > 0)
print "Skipping $countryName for {$row['name']}: association already in DB.
";
else
{
# now we insert a new row into the cats_idx table to relate this product
# to the countries
$q = "INSERT INTO cc_CubeCart_cats_idx
(cat_id, productId)
VALUES({$country['cat_id']},{$row['productId']})";
mysql_query($q);
if($err = mysql_error())
print "Could not insert new cat_idx row for {$row['name']}: $err
";
}
}
# normally, we don't want to add the digital download information unless
# we found a category in the above code. But, we can pass a param that
# forces this adding each time no matter what--this is exactly what is needed
# in some cases
if($addDigital || $_GET['forceDigital'])
{
# set 'digital' to 1 to mark this product as a digital (downloadable) product
# also create the path to the downloadable file--this path is relative
# to the downloads dir outside of htdocs folder. The image path relative
# to the uploads folder is the same relative to the downloads folder
# so we use it
$q = "UPDATE cc_CubeCart_inventory
SET digital = 1,
digitalDir = '$downloadDir/{$row['image']}'
WHERE productId = {$row['productId']}";
mysql_query($q);
if($err = mysql_error())
print "Could not update product {$row['name']} with digital info: $err
";
}
# now add the option values for this product
foreach($optionValues as $optionValue)
{
# if this option value/name pair already exists for this product,
# don't try to add it again
$q = "SELECT *
FROM cc_CubeCart_options_bot
WHERE product = {$row['productId']}
AND value_id = {$optionValue['value_id']}
AND option_id = $optionNameId";
$presentValues = mysql_query($q);
if($err = mysql_error())
{
print "Query error when looking for option values: $err
";
continue;
}
else if(mysql_num_rows($presentValues) > 0)
{
print "Skipping adding options to {$row['name']}, some already exist.
";
continue;
}
# if we did not continue above, then try to insert the option now
$valueDollars = $optionValueDollars[$optionValue['value_name']];
$q = "INSERT INTO cc_CubeCart_options_bot
(product,option_id,value_id,option_price,option_symbol)
VALUES({$row['productId']},$optionNameId,{$optionValue['value_id']},$valueDollars,'+')";
mysql_query($q);
if($err = mysql_error())
print "Could not insert option value $valueId for option name $optionNameId
for {$row['name']}: $err
";
}
}
$rowCount = mysql_num_rows($photos);
if($rowCount < 1)
print "No work done, no products selected.";
else
print "Done. Yay. $rowCount products examined and possibly updated.";
exit;
?>