Version Notes
Please contact our support desk if you have any problems.
Download this release
Release Info
| Developer | Magento Core Team |
| Extension | Mage_Codi |
| Version | 4.2.2 |
| Comparing to | |
| See all releases | |
Code changes from version 4.2.1 to 4.2.2
app/code/community/Mage/CodiScript/Model/Files.php
CHANGED
|
@@ -1,9 +1,38 @@
|
|
| 1 |
<?php
|
| 2 |
-
// 2015-
|
| 3 |
class ConfiguredProductLine{
|
| 4 |
public $optionIds = array();
|
| 5 |
public $line = NULL;
|
| 6 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
class Mage_CodiScript_Model_Files extends Mage_Core_Model_Abstract {
|
| 8 |
public $version = __VERSION__;
|
| 9 |
public $Store;
|
|
@@ -30,6 +59,7 @@ class Mage_CodiScript_Model_Files extends Mage_Core_Model_Abstract {
|
|
| 30 |
public $ignoreassprodimages = FALSE;
|
| 31 |
public $includecustomfields = FALSE;
|
| 32 |
public $importoptionsasattributes = FALSE;
|
|
|
|
| 33 |
public $instockonly = FALSE;
|
| 34 |
public $start = 0;
|
| 35 |
public $pageSize = 1000000000;
|
|
@@ -1008,7 +1038,8 @@ thumbnail: ".$product->getThumbnail()."
|
|
| 1008 |
$attribute->setStoreId( $this->StoreId );
|
| 1009 |
if( $this->_DEBUG && ( $attribute->getFrontendInput() == "select" || $attribute->getFrontendInput() == "multiselect" ) ){
|
| 1010 |
$hasData = $product->getData($attribute->getAttributeCode()) ? "YES" : "NO";
|
| 1011 |
-
|
|
|
|
| 1012 |
";
|
| 1013 |
}
|
| 1014 |
if( $attribute->getAttributeCode()=="manufacturer" ){
|
|
@@ -1030,6 +1061,9 @@ thumbnail: ".$product->getThumbnail()."
|
|
| 1030 |
if( !empty( $ProductAttributes ) )
|
| 1031 |
$ProductAttributes .= "|";
|
| 1032 |
$ProductAttributes .= $attribute->getFrontend()->getLabel() . "=" . $value;
|
|
|
|
|
|
|
|
|
|
| 1033 |
}
|
| 1034 |
}
|
| 1035 |
}
|
|
@@ -1114,74 +1148,362 @@ thumbnail: ".$product->getThumbnail()."
|
|
| 1114 |
if( $this->_DEBUG ) echo "Bundle=".$ProdRPrice."
|
| 1115 |
";
|
| 1116 |
}
|
| 1117 |
-
$
|
| 1118 |
-
if( !empty( $
|
| 1119 |
-
$
|
| 1120 |
-
$
|
| 1121 |
-
|
| 1122 |
-
|
| 1123 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1124 |
";
|
| 1125 |
-
|
| 1126 |
-
|
| 1127 |
-
|
| 1128 |
-
|
| 1129 |
-
|
| 1130 |
-
|
| 1131 |
-
|
| 1132 |
-
|
| 1133 |
-
$
|
| 1134 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1135 |
}
|
| 1136 |
}
|
| 1137 |
-
if(
|
| 1138 |
-
|
| 1139 |
-
|
| 1140 |
-
|
| 1141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1142 |
}
|
| 1143 |
-
|
| 1144 |
-
|
| 1145 |
-
|
| 1146 |
-
|
| 1147 |
-
$ItemAttributes .= "
|
| 1148 |
-
|
| 1149 |
}
|
| 1150 |
-
|
| 1151 |
-
|
| 1152 |
-
|
| 1153 |
-
|
| 1154 |
-
|
| 1155 |
-
|
| 1156 |
-
if( !empty( $ItemAttributes ) )
|
| 1157 |
-
$ItemAttributes .= "|";
|
| 1158 |
-
$ItemAttributes .= "price_".$this->customerGroups[ $groupPrice[ 'cust_group' ] ]."=".$this->_formatPrice( $price );
|
| 1159 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1160 |
}
|
| 1161 |
-
$Reviews = $this->enablereviews ? $this->_getReviews($product->getId()) : '';
|
| 1162 |
-
if( !empty( $Reviews ) )
|
| 1163 |
-
$Reviews = $this->_cleanStr( $Reviews );
|
| 1164 |
-
$prodSku = $product->getSku();
|
| 1165 |
-
$prodName = $product->getName();
|
| 1166 |
-
$ProducttoString = $this->_cleanStr( $prodSku ) //ItemID
|
| 1167 |
-
."\t" //ItemQty
|
| 1168 |
-
."\t" //ItemUom
|
| 1169 |
-
."\t" .$RPrice //ItemPrice
|
| 1170 |
-
."\t" //ItemDescription
|
| 1171 |
-
."\t" //ItemLink
|
| 1172 |
-
."\t" .$ItemAttributes //ItemAttributes
|
| 1173 |
-
."\t" //ItemitemGraphic
|
| 1174 |
-
."\t" .$product->getId().'#$#'.$this->_cleanStr( $prodName ) //ProductName
|
| 1175 |
-
."\t" .$ProductDescription //ProductDescription
|
| 1176 |
-
."\t" .$prodImages //ProductGraphic
|
| 1177 |
-
."\t" .$URL //ProductLink
|
| 1178 |
-
."\t" .$ProductAttributes //ProductAttributes
|
| 1179 |
-
."\t" .$Manufacturer //Manufacturer
|
| 1180 |
-
."\t" //Category
|
| 1181 |
-
."\t" .$Reviews //Reviews
|
| 1182 |
-
."\t" .$shortDescription
|
| 1183 |
-
."\t1"
|
| 1184 |
-
."\n";
|
| 1185 |
return $ProducttoString;
|
| 1186 |
}
|
| 1187 |
|
|
@@ -1212,8 +1534,6 @@ thumbnail: ".$product->getThumbnail()."
|
|
| 1212 |
$this->_fillConfigProdItems( $attrNumber + 1, $attrNo, $optNumbers, $optionIds, $optCounters, $cpLinesMatrix[ $optionID ] );
|
| 1213 |
} else {
|
| 1214 |
$cpLine = $cpLinesMatrix[ $optionID ];
|
| 1215 |
-
// if( $this->_DEBUG ) echo "_fillConfigProdItems option ids: ".var_export( $cpLine->optionIds, true )."
|
| 1216 |
-
//";
|
| 1217 |
$this->configProducttoString .= $cpLine->line
|
| 1218 |
.$this->prodLine
|
| 1219 |
.$this->configItemSequence
|
|
@@ -1226,7 +1546,7 @@ thumbnail: ".$product->getThumbnail()."
|
|
| 1226 |
}
|
| 1227 |
}
|
| 1228 |
|
| 1229 |
-
private function _getCustomOptionsAsAttributes(
|
| 1230 |
$attributes = "";
|
| 1231 |
$customOptions = $product->getOptions();
|
| 1232 |
if( $customOptions ){
|
|
@@ -1236,10 +1556,10 @@ thumbnail: ".$product->getThumbnail()."
|
|
| 1236 |
";
|
| 1237 |
$max_sort_order = 0;
|
| 1238 |
foreach( $customOptions as $option ){
|
| 1239 |
-
|
| 1240 |
-
|
| 1241 |
-
|
| 1242 |
-
|
| 1243 |
}
|
| 1244 |
}
|
| 1245 |
if( $this->_DEBUG ){
|
|
@@ -1305,6 +1625,67 @@ thumbnail: ".$product->getThumbnail()."
|
|
| 1305 |
}
|
| 1306 |
return $attributes;
|
| 1307 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1308 |
|
| 1309 |
private function _cleanStr( &$str ){
|
| 1310 |
return str_replace("\n"," ", str_replace("\r"," ", str_replace("\r\n"," ", str_replace("\t"," ", $str ) ) ) );
|
| 1 |
<?php
|
| 2 |
+
// 2015-04-14
|
| 3 |
class ConfiguredProductLine{
|
| 4 |
public $optionIds = array();
|
| 5 |
public $line = NULL;
|
| 6 |
}
|
| 7 |
+
class COption{
|
| 8 |
+
public $id = NULL;
|
| 9 |
+
public $title = NULL;
|
| 10 |
+
public $type = NULL;
|
| 11 |
+
public $required = NULL;
|
| 12 |
+
public $values = array();
|
| 13 |
+
public function toString(){
|
| 14 |
+
return "COption #".$this->id." title=".$this->title." type=".$this->type." required=".$this->required." values=".count( $this->values );
|
| 15 |
+
}
|
| 16 |
+
}
|
| 17 |
+
class COValue{
|
| 18 |
+
public $title = NULL;
|
| 19 |
+
public $sku = NULL;
|
| 20 |
+
public $rprice = NULL;
|
| 21 |
+
public $sprice = NULL;
|
| 22 |
+
public function toString(){
|
| 23 |
+
return "COValue ".$this->title." sku=".$this->sku." rprice=".$this->rprice." sprice=".$this->sprice;
|
| 24 |
+
}
|
| 25 |
+
}
|
| 26 |
+
class COValueSet{
|
| 27 |
+
public $optionId = NULL;
|
| 28 |
+
public $coValues = array();
|
| 29 |
+
public function toString(){
|
| 30 |
+
$out = "COValueSet #".$this->optionId." ";
|
| 31 |
+
foreach( $this->coValues as $value )
|
| 32 |
+
$out .= $value->sku ? "-".$value->sku : "-...";
|
| 33 |
+
return $out;
|
| 34 |
+
}
|
| 35 |
+
}
|
| 36 |
class Mage_CodiScript_Model_Files extends Mage_Core_Model_Abstract {
|
| 37 |
public $version = __VERSION__;
|
| 38 |
public $Store;
|
| 59 |
public $ignoreassprodimages = FALSE;
|
| 60 |
public $includecustomfields = FALSE;
|
| 61 |
public $importoptionsasattributes = FALSE;
|
| 62 |
+
public $importoptionsassku = FALSE;
|
| 63 |
public $instockonly = FALSE;
|
| 64 |
public $start = 0;
|
| 65 |
public $pageSize = 1000000000;
|
| 1038 |
$attribute->setStoreId( $this->StoreId );
|
| 1039 |
if( $this->_DEBUG && ( $attribute->getFrontendInput() == "select" || $attribute->getFrontendInput() == "multiselect" ) ){
|
| 1040 |
$hasData = $product->getData($attribute->getAttributeCode()) ? "YES" : "NO";
|
| 1041 |
+
$vof = $attribute->getIsVisibleOnFront() ? "YES" : "NO";
|
| 1042 |
+
echo "simple prod attr: ".$attribute->getFrontend()->getLabel()."=".$attribute->getFrontend()->getValue( $product )." input=".$attribute->getFrontendInput()." data=".$product->getData($attribute->getAttributeCode())." hasData=".$hasData." store=".$product->_storeId." vof=".$vof."
|
| 1043 |
";
|
| 1044 |
}
|
| 1045 |
if( $attribute->getAttributeCode()=="manufacturer" ){
|
| 1061 |
if( !empty( $ProductAttributes ) )
|
| 1062 |
$ProductAttributes .= "|";
|
| 1063 |
$ProductAttributes .= $attribute->getFrontend()->getLabel() . "=" . $value;
|
| 1064 |
+
} else {
|
| 1065 |
+
if( $this->_DEBUG ) echo "not a string with length > 0
|
| 1066 |
+
";
|
| 1067 |
}
|
| 1068 |
}
|
| 1069 |
}
|
| 1148 |
if( $this->_DEBUG ) echo "Bundle=".$ProdRPrice."
|
| 1149 |
";
|
| 1150 |
}
|
| 1151 |
+
$Reviews = $this->enablereviews ? $this->_getReviews($product->getId()) : '';
|
| 1152 |
+
if( !empty( $Reviews ) )
|
| 1153 |
+
$Reviews = $this->_cleanStr( $Reviews );
|
| 1154 |
+
$prodSku = $product->getSku();
|
| 1155 |
+
$prodSku = $this->_cleanStr( $prodSku );
|
| 1156 |
+
$cleanProdName = $this->_cleanStr( $prodName );
|
| 1157 |
+
$prodName = $product->getName();
|
| 1158 |
+
$cleanProdName = $this->_cleanStr( $prodName );
|
| 1159 |
+
$prodName = $product->getId().'#$#'.$cleanProdName;
|
| 1160 |
+
$skusAdded = false;
|
| 1161 |
+
if( $this->importoptionsassku ){
|
| 1162 |
+
$this->configItemSequence = 1;
|
| 1163 |
+
$this->configProducttoString = "";
|
| 1164 |
+
$customOptions = $product->getOptions();
|
| 1165 |
+
if( $customOptions ){
|
| 1166 |
+
if( $this->_DEBUG ) echo "=== customOptions ===
|
| 1167 |
+
ProdRPrice=".$ProdRPrice." ProdSPrice=".$ProdSPrice."
|
| 1168 |
+
";
|
| 1169 |
+
$max_sort_order = 0;
|
| 1170 |
+
foreach( $customOptions as $option ){
|
| 1171 |
+
if( $option->getSortOrder() > $max_sort_order ){
|
| 1172 |
+
$max_sort_order = $option->getSortOrder();
|
| 1173 |
+
} else if( $option->getSortOrder() < 0 ){
|
| 1174 |
+
$option->setSortOrder( -1 );
|
| 1175 |
+
}
|
| 1176 |
+
}
|
| 1177 |
+
$orderedOptionValues = array();
|
| 1178 |
+
$orderedCustomOptions = array();
|
| 1179 |
+
for( $sortorder = -1; $sortorder <= $max_sort_order; $sortorder++ ){
|
| 1180 |
+
foreach ($customOptions as $option) {
|
| 1181 |
+
if( $option->getSortOrder() != $sortorder ) continue;
|
| 1182 |
+
$orderedCustomOptions[] = $option;
|
| 1183 |
+
$optionValues = array();
|
| 1184 |
+
if( $option->getValues() ){
|
| 1185 |
+
$max_v_sort_order = 0;
|
| 1186 |
+
foreach( $option->getValues() as $_value ){
|
| 1187 |
+
if( $_value->getSortOrder() > $max_v_sort_order ){
|
| 1188 |
+
$max_v_sort_order = $_value->getSortOrder();
|
| 1189 |
+
} else if( $_value->getSortOrder() < 0 ){
|
| 1190 |
+
$_value->setSortOrder( -1 );
|
| 1191 |
+
}
|
| 1192 |
+
}
|
| 1193 |
+
for( $vsortorder = -1; $vsortorder <= $max_v_sort_order; $vsortorder++ ){
|
| 1194 |
+
foreach( $option->getValues() as $_value ){
|
| 1195 |
+
if( $_value->getSortOrder() != $vsortorder ) continue;
|
| 1196 |
+
$optionValues[] = $_value;
|
| 1197 |
+
}
|
| 1198 |
+
}
|
| 1199 |
+
}
|
| 1200 |
+
$orderedOptionValues[ $option->getOptionId() ] = $optionValues;
|
| 1201 |
+
}
|
| 1202 |
+
}
|
| 1203 |
+
$customOptions = array();
|
| 1204 |
+
$customOptionsById = array();
|
| 1205 |
+
foreach( $orderedCustomOptions as $option ){
|
| 1206 |
+
if( $this->_DEBUG ){
|
| 1207 |
+
echo "customOption #".$option->getOptionId()." title=".$option->getTitle()." storeTitle=".$option->getStoreTitle()." type=".$option->getType()." isRequire=".$option->getIsRequire()." sort_order".$option->getSortOrder()."
|
| 1208 |
+
";
|
| 1209 |
+
if( $option->getType() == "date" ||
|
| 1210 |
+
$option->getType() == "time" ||
|
| 1211 |
+
$option->getType() == "date_time" ||
|
| 1212 |
+
$option->getType() == "field" ||
|
| 1213 |
+
$option->getType() == "area" )
|
| 1214 |
+
echo " price=".$option->getPrice()." price_type=".$option->getPriceType()." sku=".$option->getSku()."
|
| 1215 |
";
|
| 1216 |
+
}
|
| 1217 |
+
$customOption = new COption();
|
| 1218 |
+
$customOption->id = $option->getOptionId();
|
| 1219 |
+
$customOption->title = $option->getStoreTitle();
|
| 1220 |
+
if( !$customOption->title )
|
| 1221 |
+
$customOption->title = $option->getTitle();
|
| 1222 |
+
if( !$customOption->title )
|
| 1223 |
+
$customOption->title = "Option #".$option->getOptionId();
|
| 1224 |
+
$customOption->type = $option->getType();
|
| 1225 |
+
$customOption->required = $option->getIsRequire();
|
| 1226 |
+
if( $this->_DEBUG ) echo $customOption->toString()."
|
| 1227 |
+
";
|
| 1228 |
+
$optionValues = $orderedOptionValues[ $option->getOptionId() ];
|
| 1229 |
+
$isMultiple = ( $option->getType() == "multiple" || $option->getType() == "checkbox" );
|
| 1230 |
+
if( !$option->getIsRequire() && !$isMultiple ){
|
| 1231 |
+
$coValue = new COValue();
|
| 1232 |
+
$coValue->title = FALSE;
|
| 1233 |
+
$coValue->sku = FALSE;
|
| 1234 |
+
$coValue->ifpercent = FALSE;
|
| 1235 |
+
$coValue->pvalue = 0;
|
| 1236 |
+
$coValue->rprice = 0;
|
| 1237 |
+
$coValue->sprice = 0;
|
| 1238 |
+
if( $this->_DEBUG ) echo $coValue->toString()."
|
| 1239 |
+
";
|
| 1240 |
+
$customOption->values[] = $coValue;
|
| 1241 |
+
}
|
| 1242 |
+
if( $option->getType() == "date" ||
|
| 1243 |
+
$option->getType() == "time" ||
|
| 1244 |
+
$option->getType() == "date_time" ||
|
| 1245 |
+
$option->getType() == "field" ||
|
| 1246 |
+
$option->getType() == "area" ){
|
| 1247 |
+
if( $option->getSku() ){
|
| 1248 |
+
$coValue = new COValue();
|
| 1249 |
+
$coValue->title = "Provided";
|
| 1250 |
+
$coValue->sku = $option->getSku();
|
| 1251 |
+
$coValue->ifpercent = FALSE;
|
| 1252 |
+
$coValue->pvalue = $option->getPrice();
|
| 1253 |
+
if( $option->getPriceType() == "percent" ){
|
| 1254 |
+
$coValue->ifpercent = TRUE;
|
| 1255 |
+
$coValue->rprice = round( $ProdRPrice * $option->getPrice() / 100, 2 );
|
| 1256 |
+
$coValue->sprice = $ProdSPrice > -1 ? round( $ProdSPrice * $option->getPrice() / 100, 2 ) : -1;
|
| 1257 |
+
} else {
|
| 1258 |
+
$coValue->rprice = $option->getPrice();
|
| 1259 |
+
$coValue->sprice = $ProdSPrice > -1 ? $option->getPrice() : -1;
|
| 1260 |
+
}
|
| 1261 |
+
if( $this->_DEBUG ) echo $coValue->toString()."
|
| 1262 |
+
";
|
| 1263 |
+
$customOption->values[] = $coValue;
|
| 1264 |
+
}
|
| 1265 |
+
} else {
|
| 1266 |
+
foreach( $optionValues as $optionValue ){
|
| 1267 |
+
if( $this->_DEBUG ) echo "value title=".$optionValue->getTitle()." storeTitle=".$optionValue->getStoreTitle()." price=".$optionValue->getPrice()." price_type=".$optionValue->getPriceType()." sku=".$optionValue->getSku()." sort_order=".$optionValue->getSortOrder()."
|
| 1268 |
+
";
|
| 1269 |
+
if( $optionValue->getSku() ){
|
| 1270 |
+
$coValue = new COValue();
|
| 1271 |
+
$coValue->title = $optionValue->getStoreTitle();
|
| 1272 |
+
if( !$coValue->title )
|
| 1273 |
+
$coValue->title = $optionValue->getTitle();
|
| 1274 |
+
if( !$coValue->title )
|
| 1275 |
+
$coValue->title = "Option value";
|
| 1276 |
+
$coValue->sku = $optionValue->getSku();
|
| 1277 |
+
$coValue->ifpercent = FALSE;
|
| 1278 |
+
$coValue->pvalue = $optionValue->getPrice();
|
| 1279 |
+
if( $optionValue->getPriceType() == "percent" ){
|
| 1280 |
+
$coValue->ifpercent = TRUE;
|
| 1281 |
+
$coValue->rprice = round( $ProdRPrice * $optionValue->getPrice() / 100, 2 );
|
| 1282 |
+
$coValue->sprice = $ProdSPrice > -1 ? round( $ProdSPrice * $optionValue->getPrice() / 100, 2 ) : -1;
|
| 1283 |
+
} else {
|
| 1284 |
+
$coValue->rprice = $optionValue->getPrice();
|
| 1285 |
+
$coValue->sprice = $ProdSPrice > -1 ? $optionValue->getPrice() : -1;
|
| 1286 |
+
}
|
| 1287 |
+
if( $this->_DEBUG ) echo $coValue->toString()."
|
| 1288 |
+
";
|
| 1289 |
+
$customOption->values[] = $coValue;
|
| 1290 |
+
}
|
| 1291 |
+
}
|
| 1292 |
+
}
|
| 1293 |
+
if( $isMultiple && count( $customOption->values ) > 1 )
|
| 1294 |
+
$customOption->values = array_reverse( $customOption->values );
|
| 1295 |
+
if( count( $customOption->values ) == 0 ){
|
| 1296 |
+
} else if( count( $customOption->values ) == 1 ){
|
| 1297 |
+
if( $customOption->values[ 0 ]->sku )
|
| 1298 |
+
$customOptions[] = $customOption;
|
| 1299 |
+
} else {
|
| 1300 |
+
$customOptions[] = $customOption;
|
| 1301 |
+
}
|
| 1302 |
+
$customOptionsById[ $customOption->id ] = $customOption;
|
| 1303 |
+
}
|
| 1304 |
+
if( $this->_DEBUG ){
|
| 1305 |
+
echo "Resulting options / values
|
| 1306 |
+
";
|
| 1307 |
+
foreach( $customOptions as $option ){
|
| 1308 |
+
echo $option->toString()."
|
| 1309 |
+
";
|
| 1310 |
+
foreach( $option->values as $value ) echo $value->toString()."
|
| 1311 |
+
";
|
| 1312 |
+
}
|
| 1313 |
+
}
|
| 1314 |
+
if( count( $customOptions ) > 0 ){
|
| 1315 |
+
$coValueSetSequences = array();
|
| 1316 |
+
$coValueSetSequence = array();
|
| 1317 |
+
$this->_buildCOValueSets( &$coValueSetSequences, $coValueSetSequence, 0, $customOptions );
|
| 1318 |
+
$index = 0;
|
| 1319 |
+
foreach( $coValueSetSequences as $coValueSetSequence ){
|
| 1320 |
+
if( $this->_DEBUG ){
|
| 1321 |
+
echo "coValueSetSequence #".$index."
|
| 1322 |
+
";
|
| 1323 |
+
foreach( $coValueSetSequence as $coValueSet ) echo $coValueSet->toString()."
|
| 1324 |
+
";
|
| 1325 |
+
}
|
| 1326 |
+
$ItemNumber = $prodSku;
|
| 1327 |
+
$RPrice = $ProdRPrice;
|
| 1328 |
+
$SPrice = $ProdSPrice;
|
| 1329 |
+
$ItemAttributes = "";
|
| 1330 |
+
if( $this->includeinvqty ){
|
| 1331 |
+
if( !empty( $ItemAttributes ) )
|
| 1332 |
+
$ItemAttributes .= "|";
|
| 1333 |
+
$ItemAttributes = "Inventory=".$this->_formatQty( "".$this->catalogInventoryModel->loadByProduct( $product )->getQty() );
|
| 1334 |
+
}
|
| 1335 |
+
foreach( $coValueSetSequence as $coValueSet ){
|
| 1336 |
+
$cOption = $customOptionsById[ $coValueSet->optionId ];
|
| 1337 |
+
if( !empty( $ItemAttributes ) )
|
| 1338 |
+
$ItemAttributes .= "|";
|
| 1339 |
+
$ItemAttributes .= $cOption->title."=";
|
| 1340 |
+
$vcount = 0;
|
| 1341 |
+
foreach( $coValueSet->coValues as $value ){
|
| 1342 |
+
if( $value->sku ){
|
| 1343 |
+
if( $ItemNumber ) $ItemNumber .= "-";
|
| 1344 |
+
$ItemNumber .= $value->sku;
|
| 1345 |
+
$RPrice += $value->rprice;
|
| 1346 |
+
if( $SPrice >= 0 ) $SPrice += $value->sprice;
|
| 1347 |
+
if( $vcount > 0 ) $ItemAttributes .= ", ";
|
| 1348 |
+
$ItemAttributes .= $value->title;
|
| 1349 |
+
$vcount++;
|
| 1350 |
+
}
|
| 1351 |
+
}
|
| 1352 |
+
}
|
| 1353 |
+
if( empty( $ItemNumber ) ){
|
| 1354 |
+
if( $this->_DEBUG ) echo "NO ItemNumber
|
| 1355 |
+
";
|
| 1356 |
+
continue;
|
| 1357 |
+
}
|
| 1358 |
+
if( !empty( $RPrice ) && $this->includetaxes )
|
| 1359 |
+
$RPrice = $this->taxhelper->getPrice( $product, $RPrice, true );
|
| 1360 |
+
if( $SPrice >= 0 && $this->includetaxes )
|
| 1361 |
+
$SPrice = $this->taxhelper->getPrice( $product, $SPrice, true );
|
| 1362 |
+
if( $this->_DEBUG ) echo "resulting prices: Regular=".$RPrice." Special=".$SPrice." FromDate=".$ProdSFromDate." ToDate=".$ProdSToDate."
|
| 1363 |
+
";
|
| 1364 |
+
$RPrice = $this->_formatPrice( $RPrice );
|
| 1365 |
+
if( $this->includespecialprice ){
|
| 1366 |
+
if( $SPrice >= 0 ){
|
| 1367 |
+
$SPrice = $this->_formatPrice( $SPrice );
|
| 1368 |
+
if( !empty( $ItemAttributes ) )
|
| 1369 |
+
$ItemAttributes .= "|";
|
| 1370 |
+
$ItemAttributes .= "Special Price=".$SPrice;
|
| 1371 |
+
}
|
| 1372 |
+
}
|
| 1373 |
+
if( $this->includespecialpricedatefrom ){
|
| 1374 |
+
if( !empty( $ProdSFromDate ) ){
|
| 1375 |
+
if( !empty( $ItemAttributes ) )
|
| 1376 |
+
$ItemAttributes .= "|";
|
| 1377 |
+
$ItemAttributes .= "Special Price From Date=".substr( $ProdSFromDate, 0, 10 );
|
| 1378 |
+
}
|
| 1379 |
+
}
|
| 1380 |
+
if( $this->includespecialpricedateto ){
|
| 1381 |
+
if( !empty( $ProdSToDate ) ){
|
| 1382 |
+
if( !empty( $ItemAttributes ) )
|
| 1383 |
+
$ItemAttributes .= "|";
|
| 1384 |
+
$ItemAttributes .= "Special Price To Date=".substr( $ProdSToDate, 0, 10 );
|
| 1385 |
+
}
|
| 1386 |
+
}
|
| 1387 |
+
if( $this->getgroupprices && $ProdSpecGroupPrices ){
|
| 1388 |
+
foreach( $ProdSpecGroupPrices as $groupPrice ){
|
| 1389 |
+
$price = 0.0 + $groupPrice[ 'price' ];
|
| 1390 |
+
$price0 = $price;
|
| 1391 |
+
foreach( $coValueSetSequence as $coValueSet ){
|
| 1392 |
+
foreach( $coValueSet->coValues as $value ){
|
| 1393 |
+
if( $value->sku ){
|
| 1394 |
+
if( $value->ifpercent ){
|
| 1395 |
+
$price = $price + round( $price0 * $value->pvalue / 100, 2 );
|
| 1396 |
+
} else {
|
| 1397 |
+
$price = $price + $value->pvalue;
|
| 1398 |
+
}
|
| 1399 |
+
}
|
| 1400 |
+
}
|
| 1401 |
+
}
|
| 1402 |
+
if( $price >= 0 && $this->includetaxes )
|
| 1403 |
+
$price = $this->taxhelper->getPrice( $product, $price, true );
|
| 1404 |
+
if( !empty( $ItemAttributes ) )
|
| 1405 |
+
$ItemAttributes .= "|";
|
| 1406 |
+
$ItemAttributes .= "price_".$this->customerGroups[ $groupPrice[ 'cust_group' ] ]."=".$this->_formatPrice( $price );
|
| 1407 |
+
}
|
| 1408 |
+
}
|
| 1409 |
+
if( $this->_DEBUG ) echo "resulting attrs: ".$ItemAttributes."
|
| 1410 |
+
";
|
| 1411 |
+
$ProducttoString .= $ItemNumber //ItemID
|
| 1412 |
+
."\t" //ItemQty
|
| 1413 |
+
."\t" //ItemUom
|
| 1414 |
+
."\t" .$RPrice //ItemPrice
|
| 1415 |
+
."\t" //ItemDescription
|
| 1416 |
+
."\t" //ItemLink
|
| 1417 |
+
."\t" .$ItemAttributes //ItemAttributes
|
| 1418 |
+
."\t" //ItemitemGraphic
|
| 1419 |
+
."\t" .$prodName //ProductName
|
| 1420 |
+
."\t" .$ProductDescription //ProductDescription
|
| 1421 |
+
."\t" .$prodImages //ProductGraphic
|
| 1422 |
+
."\t" .$URL //ProductLink
|
| 1423 |
+
."\t" .$ProductAttributes //ProductAttributes
|
| 1424 |
+
."\t" .$Manufacturer //Manufacturer
|
| 1425 |
+
."\t" //Category
|
| 1426 |
+
."\t" .$Reviews //Reviews
|
| 1427 |
+
."\t" .$shortDescription
|
| 1428 |
+
."\t1"
|
| 1429 |
+
."\n";
|
| 1430 |
+
$skusAdded = TRUE;
|
| 1431 |
+
$index++;
|
| 1432 |
+
// https://objectpublisher.basecamphq.com/projects/257020-odp/posts/87233819/comments#comment_312388129
|
| 1433 |
+
if( $index >= 200 ){
|
| 1434 |
+
$ProducttoString .= "REPORTWARNING: Not all options were converted to items for the product #".$product->getId()." - \"".$cleanProdName."\".
|
| 1435 |
+
";
|
| 1436 |
+
break;
|
| 1437 |
+
}
|
| 1438 |
+
}
|
| 1439 |
+
}
|
| 1440 |
}
|
| 1441 |
}
|
| 1442 |
+
if( !$skusAdded ){
|
| 1443 |
+
$RPrice = $ProdRPrice;
|
| 1444 |
+
if( !empty( $RPrice ) && $this->includetaxes )
|
| 1445 |
+
$RPrice = $this->taxhelper->getPrice( $product, $RPrice, true );
|
| 1446 |
+
$SPrice = $ProdSPrice;
|
| 1447 |
+
if( $SPrice >= 0 && $this->includetaxes )
|
| 1448 |
+
$SPrice = $this->taxhelper->getPrice( $product, $SPrice, true );
|
| 1449 |
+
if( $this->_DEBUG ) echo "resulting prices: Regular=".$RPrice." Special=".$SPrice." FromDate=".$ProdSFromDate." ToDate=".$ProdSToDate."
|
| 1450 |
+
";
|
| 1451 |
+
$ItemAttributes = "";
|
| 1452 |
+
if( $this->includeinvqty )
|
| 1453 |
+
$ItemAttributes = "Inventory=".$this->_formatQty( "".$this->catalogInventoryModel->loadByProduct( $product )->getQty() );
|
| 1454 |
+
$RPrice = $this->_formatPrice( $RPrice );
|
| 1455 |
+
if( $this->includespecialprice ){
|
| 1456 |
+
if( $SPrice >= 0 ){
|
| 1457 |
+
$SPrice = $this->_formatPrice( $SPrice );
|
| 1458 |
+
if( !empty( $ItemAttributes ) )
|
| 1459 |
+
$ItemAttributes .= "|";
|
| 1460 |
+
$ItemAttributes .= "Special Price=".$SPrice;
|
| 1461 |
+
}
|
| 1462 |
}
|
| 1463 |
+
if( $this->includespecialpricedatefrom ){
|
| 1464 |
+
if( !empty( $ProdSFromDate ) ){
|
| 1465 |
+
if( !empty( $ItemAttributes ) )
|
| 1466 |
+
$ItemAttributes .= "|";
|
| 1467 |
+
$ItemAttributes .= "Special Price From Date=".substr( $ProdSFromDate, 0, 10 );
|
| 1468 |
+
}
|
| 1469 |
}
|
| 1470 |
+
if( $this->includespecialpricedateto ){
|
| 1471 |
+
if( !empty( $ProdSToDate ) ){
|
| 1472 |
+
if( !empty( $ItemAttributes ) )
|
| 1473 |
+
$ItemAttributes .= "|";
|
| 1474 |
+
$ItemAttributes .= "Special Price To Date=".substr( $ProdSToDate, 0, 10 );
|
| 1475 |
+
}
|
|
|
|
|
|
|
|
|
|
| 1476 |
}
|
| 1477 |
+
if( $this->getgroupprices && $ProdSpecGroupPrices ){
|
| 1478 |
+
foreach( $ProdSpecGroupPrices as $groupPrice ){
|
| 1479 |
+
$price = 0.0 + $groupPrice[ 'price' ];
|
| 1480 |
+
if( $price >= 0 && $this->includetaxes )
|
| 1481 |
+
$price = $this->taxhelper->getPrice( $product, $price, true );
|
| 1482 |
+
if( !empty( $ItemAttributes ) )
|
| 1483 |
+
$ItemAttributes .= "|";
|
| 1484 |
+
$ItemAttributes .= "price_".$this->customerGroups[ $groupPrice[ 'cust_group' ] ]."=".$this->_formatPrice( $price );
|
| 1485 |
+
}
|
| 1486 |
+
}
|
| 1487 |
+
$ProducttoString = $prodSku //ItemID
|
| 1488 |
+
."\t" //ItemQty
|
| 1489 |
+
."\t" //ItemUom
|
| 1490 |
+
."\t" .$RPrice //ItemPrice
|
| 1491 |
+
."\t" //ItemDescription
|
| 1492 |
+
."\t" //ItemLink
|
| 1493 |
+
."\t" .$ItemAttributes //ItemAttributes
|
| 1494 |
+
."\t" //ItemitemGraphic
|
| 1495 |
+
."\t" .$prodName //ProductName
|
| 1496 |
+
."\t" .$ProductDescription //ProductDescription
|
| 1497 |
+
."\t" .$prodImages //ProductGraphic
|
| 1498 |
+
."\t" .$URL //ProductLink
|
| 1499 |
+
."\t" .$ProductAttributes //ProductAttributes
|
| 1500 |
+
."\t" .$Manufacturer //Manufacturer
|
| 1501 |
+
."\t" //Category
|
| 1502 |
+
."\t" .$Reviews //Reviews
|
| 1503 |
+
."\t" .$shortDescription
|
| 1504 |
+
."\t1"
|
| 1505 |
+
."\n";
|
| 1506 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1507 |
return $ProducttoString;
|
| 1508 |
}
|
| 1509 |
|
| 1534 |
$this->_fillConfigProdItems( $attrNumber + 1, $attrNo, $optNumbers, $optionIds, $optCounters, $cpLinesMatrix[ $optionID ] );
|
| 1535 |
} else {
|
| 1536 |
$cpLine = $cpLinesMatrix[ $optionID ];
|
|
|
|
|
|
|
| 1537 |
$this->configProducttoString .= $cpLine->line
|
| 1538 |
.$this->prodLine
|
| 1539 |
.$this->configItemSequence
|
| 1546 |
}
|
| 1547 |
}
|
| 1548 |
|
| 1549 |
+
private function _getCustomOptionsAsAttributes( &$product ){
|
| 1550 |
$attributes = "";
|
| 1551 |
$customOptions = $product->getOptions();
|
| 1552 |
if( $customOptions ){
|
| 1556 |
";
|
| 1557 |
$max_sort_order = 0;
|
| 1558 |
foreach( $customOptions as $option ){
|
| 1559 |
+
if( $option->getSortOrder() > $max_sort_order ){
|
| 1560 |
+
$max_sort_order = $option->getSortOrder();
|
| 1561 |
+
} else if( $option->getSortOrder() < 0 ){
|
| 1562 |
+
$option->setSortOrder( -1 );
|
| 1563 |
}
|
| 1564 |
}
|
| 1565 |
if( $this->_DEBUG ){
|
| 1625 |
}
|
| 1626 |
return $attributes;
|
| 1627 |
}
|
| 1628 |
+
|
| 1629 |
+
private function _buildCOValueSets( &$coValueSetSequences, $coValueSetSequence, $index, &$customOptions ){
|
| 1630 |
+
$cOption = $customOptions[ $index ];
|
| 1631 |
+
$customOptionCount = count( $customOptions );
|
| 1632 |
+
$coValueSetList = array();
|
| 1633 |
+
if( $cOption->type == "multiple" || $cOption->type == "checkbox" ){
|
| 1634 |
+
// all combinations + empty if not required
|
| 1635 |
+
$valuesCount = count( $cOption->values );
|
| 1636 |
+
$indexList = array();
|
| 1637 |
+
$indices = array();
|
| 1638 |
+
$this->_buildCOValueIndices( $indexList, $indices, $valuesCount - 1 );
|
| 1639 |
+
foreach( $indexList as $indices ){
|
| 1640 |
+
$coValueSet = new COValueSet();
|
| 1641 |
+
$coValueSet->optionId = $cOption->id;
|
| 1642 |
+
$valueIndexNo = 0;
|
| 1643 |
+
foreach( $indices as $valueIndex ){
|
| 1644 |
+
if( $valueIndex == 1 )
|
| 1645 |
+
$coValueSet->coValues[] = $cOption->values[ $valueIndexNo ];
|
| 1646 |
+
$valueIndexNo++;
|
| 1647 |
+
}
|
| 1648 |
+
if( !$cOption->required && count( $coValueSet->coValues ) == 0 ){
|
| 1649 |
+
$coValue = new COValue();
|
| 1650 |
+
$coValue->title = FALSE;
|
| 1651 |
+
$coValue->sku = FALSE;
|
| 1652 |
+
$coValue->rprice = 0;
|
| 1653 |
+
$coValue->sprice = 0;
|
| 1654 |
+
$coValueSet->coValues[] = $coValue;
|
| 1655 |
+
}
|
| 1656 |
+
if( count( $coValueSet->coValues ) == 0 )
|
| 1657 |
+
continue;
|
| 1658 |
+
if( count( $coValueSet->coValues ) > 1 )
|
| 1659 |
+
$coValueSet->coValues = array_reverse( $coValueSet->coValues );
|
| 1660 |
+
$coValueSetList[] = $coValueSet;
|
| 1661 |
+
}
|
| 1662 |
+
} else {
|
| 1663 |
+
foreach( $cOption->values as $optionValue ){
|
| 1664 |
+
$coValueSet = new COValueSet();
|
| 1665 |
+
$coValueSet->optionId = $cOption->id;
|
| 1666 |
+
$coValueSet->coValues[] = $optionValue;
|
| 1667 |
+
$coValueSetList[] = $coValueSet;
|
| 1668 |
+
}
|
| 1669 |
+
}
|
| 1670 |
+
$coValueSetListCount = count( $coValueSetList );
|
| 1671 |
+
foreach( $coValueSetList as $coValueSet ){
|
| 1672 |
+
$coValueSetSequence[ $index ] = $coValueSet;
|
| 1673 |
+
if( $index == $customOptionCount - 1 )
|
| 1674 |
+
$coValueSetSequences[] = $coValueSetSequence;
|
| 1675 |
+
else
|
| 1676 |
+
$this->_buildCOValueSets( $coValueSetSequences, $coValueSetSequence, $index + 1, $customOptions );
|
| 1677 |
+
}
|
| 1678 |
+
}
|
| 1679 |
+
|
| 1680 |
+
private function _buildCOValueIndices( &$indexList, $indices, $index ){
|
| 1681 |
+
for( $i = 0; $i < 2; $i++ ){
|
| 1682 |
+
$indices[ $index ] = $i;
|
| 1683 |
+
if( $index == 0 )
|
| 1684 |
+
$indexList[] = $indices;
|
| 1685 |
+
else
|
| 1686 |
+
$this->_buildCOValueIndices( $indexList, $indices, $index - 1 );
|
| 1687 |
+
}
|
| 1688 |
+
}
|
| 1689 |
|
| 1690 |
private function _cleanStr( &$str ){
|
| 1691 |
return str_replace("\n"," ", str_replace("\r"," ", str_replace("\r\n"," ", str_replace("\t"," ", $str ) ) ) );
|
app/code/community/Mage/CodiScript/controllers/IndexController.php
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
<?php
|
| 2 |
-
define("__VERSION__","2015-
|
| 3 |
define("__SCRIPTNAME__",basename(__FILE__));
|
| 4 |
|
| 5 |
class Mage_CodiScript_IndexController extends Mage_Core_Controller_Front_Action{
|
|
@@ -79,6 +79,7 @@ if( $Class=="DataFile" ){
|
|
| 79 |
}
|
| 80 |
}
|
| 81 |
$importoptionsasattributes = ( isset( $_REQUEST["importoptionsasattributes"] ) && $_REQUEST["importoptionsasattributes"] == "1" );
|
|
|
|
| 82 |
$instockonly = isset($_REQUEST["instockonly"])? trim( $_REQUEST["instockonly"] ) : FALSE;
|
| 83 |
$start = isset( $_REQUEST["start"] ) ? intval( $_REQUEST["start"] ) : 0;
|
| 84 |
$pageSize = isset( $_REQUEST["pageSize"] ) ? intval( $_REQUEST["pageSize"] ) : 1000000000;
|
|
@@ -101,6 +102,7 @@ ignoreexcludedimages=".$ignoreexcludedimages."
|
|
| 101 |
ignoreassprodimages=".$ignoreassprodimages."
|
| 102 |
includecustomfields=".( $includecustomfields ? implode( ",", array_keys( $includecustomfields ) ) : $includecustomfields )."
|
| 103 |
importoptionsasattributes=".$importoptionsasattributes."
|
|
|
|
| 104 |
instockonly=".$instockonly."
|
| 105 |
start=".$start."
|
| 106 |
pageSize=".$pageSize."
|
|
@@ -187,6 +189,7 @@ if( $Class=="DataFile" ){
|
|
| 187 |
$cfModel->ignoreassprodimages = $ignoreassprodimages;
|
| 188 |
$cfModel->includecustomfields = $includecustomfields;
|
| 189 |
$cfModel->importoptionsasattributes = $importoptionsasattributes;
|
|
|
|
| 190 |
$cfModel->instockonly = $instockonly;
|
| 191 |
$cfModel->start = $start;
|
| 192 |
$cfModel->pageSize = $pageSize;
|
|
@@ -233,6 +236,9 @@ executed in ".( time() - $started_time )." sec.
|
|
| 233 |
";
|
| 234 |
die();
|
| 235 |
/* RELEASE NOTES
|
|
|
|
|
|
|
|
|
|
| 236 |
* 2015-03-30
|
| 237 |
* Added retrieval of custom product options in case of importoptionsasattributes=true
|
| 238 |
*
|
| 1 |
<?php
|
| 2 |
+
define("__VERSION__","2015-04-14");
|
| 3 |
define("__SCRIPTNAME__",basename(__FILE__));
|
| 4 |
|
| 5 |
class Mage_CodiScript_IndexController extends Mage_Core_Controller_Front_Action{
|
| 79 |
}
|
| 80 |
}
|
| 81 |
$importoptionsasattributes = ( isset( $_REQUEST["importoptionsasattributes"] ) && $_REQUEST["importoptionsasattributes"] == "1" );
|
| 82 |
+
$importoptionsassku = ( isset($_REQUEST["importoptionsassku"]) && $_REQUEST["importoptionsassku"] == "1" );
|
| 83 |
$instockonly = isset($_REQUEST["instockonly"])? trim( $_REQUEST["instockonly"] ) : FALSE;
|
| 84 |
$start = isset( $_REQUEST["start"] ) ? intval( $_REQUEST["start"] ) : 0;
|
| 85 |
$pageSize = isset( $_REQUEST["pageSize"] ) ? intval( $_REQUEST["pageSize"] ) : 1000000000;
|
| 102 |
ignoreassprodimages=".$ignoreassprodimages."
|
| 103 |
includecustomfields=".( $includecustomfields ? implode( ",", array_keys( $includecustomfields ) ) : $includecustomfields )."
|
| 104 |
importoptionsasattributes=".$importoptionsasattributes."
|
| 105 |
+
importoptionsassku=".$importoptionsassku."
|
| 106 |
instockonly=".$instockonly."
|
| 107 |
start=".$start."
|
| 108 |
pageSize=".$pageSize."
|
| 189 |
$cfModel->ignoreassprodimages = $ignoreassprodimages;
|
| 190 |
$cfModel->includecustomfields = $includecustomfields;
|
| 191 |
$cfModel->importoptionsasattributes = $importoptionsasattributes;
|
| 192 |
+
$cfModel->importoptionsassku = $importoptionsassku;
|
| 193 |
$cfModel->instockonly = $instockonly;
|
| 194 |
$cfModel->start = $start;
|
| 195 |
$cfModel->pageSize = $pageSize;
|
| 236 |
";
|
| 237 |
die();
|
| 238 |
/* RELEASE NOTES
|
| 239 |
+
* 2015-04-14
|
| 240 |
+
* Added import of custom simple product options into items, if the option contains a SKU number
|
| 241 |
+
*
|
| 242 |
* 2015-03-30
|
| 243 |
* Added retrieval of custom product options in case of importoptionsasattributes=true
|
| 244 |
*
|
package.xml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Mage_Codi</name>
|
| 4 |
-
<version>4.2.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
| 7 |
<channel>community</channel>
|
|
@@ -10,9 +10,9 @@
|
|
| 10 |
<description>Extension to connect to the Catalog-on-Demand service for making print catalogs, brochures, and flyers.</description>
|
| 11 |
<notes>Please contact our support desk if you have any problems.</notes>
|
| 12 |
<authors><author><name>catalogondemand</name><user>auto-converted</user><email>timh@catalog-on-demand.com</email></author></authors>
|
| 13 |
-
<date>2015-
|
| 14 |
-
<time>
|
| 15 |
-
<contents><target name="magecommunity"><dir name="Mage"><dir name="CodiScript"><dir name="Helper"><file name="Data.php" hash="3f99660cb06a9dc09f024b9993d43a3f"/></dir><dir name="Model"><file name="Files.php" hash="
|
| 16 |
<compatible/>
|
| 17 |
<dependencies/>
|
| 18 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Mage_Codi</name>
|
| 4 |
+
<version>4.2.2</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
| 7 |
<channel>community</channel>
|
| 10 |
<description>Extension to connect to the Catalog-on-Demand service for making print catalogs, brochures, and flyers.</description>
|
| 11 |
<notes>Please contact our support desk if you have any problems.</notes>
|
| 12 |
<authors><author><name>catalogondemand</name><user>auto-converted</user><email>timh@catalog-on-demand.com</email></author></authors>
|
| 13 |
+
<date>2015-04-22</date>
|
| 14 |
+
<time>15:47:48</time>
|
| 15 |
+
<contents><target name="magecommunity"><dir name="Mage"><dir name="CodiScript"><dir name="Helper"><file name="Data.php" hash="3f99660cb06a9dc09f024b9993d43a3f"/></dir><dir name="Model"><file name="Files.php" hash="8bccee1630f30cbfe5300a2a9ebeff16"/></dir><dir name="controllers"><file name="IndexController.php" hash="7f2cd9a9979158580cd458d13ce4a33e"/></dir><dir name="etc"><file name="adminhtml.xml" hash="40ab0bd86928c5ba175988926a9f6aee"/><file name="config.xml" hash="b960e9bd106f0c94559baa2bc5761e18"/><file name="system.xml" hash="1b5e5b18bfdce6b85e304fb4ef877274"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Mage_CodiScript.xml" hash="f0502cac7918fc798b3b02d3d4b7e7fd"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="codiscript.xml" hash="066f99333a6054e11943a75413f65ff0"/></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="codi"><file name="password_validation.js" hash="7223aeed118bb5774c73f951460ae0b0"/></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Mage_CodiScript.csv" hash="183fc591065ced83f878a4c3e23f854c"/></dir></target></contents>
|
| 16 |
<compatible/>
|
| 17 |
<dependencies/>
|
| 18 |
</package>
|
