Mage_Codi - Version 4.0.2

Version Notes

Adding new capabilities for troubleshooting. Please contact our support desk if you have any problems.

Download this release

Release Info

Developer Magento Core Team
Extension Mage_Codi
Version 4.0.2
Comparing to
See all releases


Code changes from version 4.0.1 to 4.0.2

app/code/community/Mage/CodiScript/Model/Files.php CHANGED
@@ -148,7 +148,8 @@ product thumbnail : ".$product->getThumbnail()."
148
  $ProductURL = $product->getProductUrl();
149
  if( !empty( $ProductURL ) )
150
  $ProductURL = $this->correctProdUrlStr( $ProductURL );
151
- $productName = $product->getId().'#$#'.$this->cleanStr( $product->getName() );
 
152
  $Reviews = $this->enablereviews ? $this->getReviews($product->getId()) : '';
153
  if( !empty( $Reviews ) )
154
  $Reviews = $this->cleanStr( $Reviews );
@@ -180,7 +181,6 @@ item thumbnail : ".$UsedProduct->getThumbnail()."
180
  }
181
  }
182
  $itemImages = implode( "#|#", $itemImages );
183
-
184
  $attributes = $UsedProduct->getAttributes();
185
  $ItemAttributes = "";
186
  foreach ($attributes as $attribute) {
@@ -199,7 +199,8 @@ item thumbnail : ".$UsedProduct->getThumbnail()."
199
  }
200
  $ItemAttributes = substr($ItemAttributes, 0, strlen($ItemAttributes)-1 );
201
  $Price = $this->improvePrice( $Price );
202
- $ProducttoString .= $this->cleanStr( $UsedProduct->getSku() ) //ItemID
 
203
  . "\t" //ItemQty
204
  . "\t" //ItemUom
205
  . "\t". $Price //ItemPrice
@@ -294,11 +295,11 @@ product thumbnail : ".$product->getThumbnail()."
294
  }
295
  }
296
  $prodImages = implode( "#|#", $prodImages );
297
-
298
  $ProductURL = $product->getProductUrl();
299
  if( !empty( $ProductURL ) )
300
  $ProductURL = $this->correctProdUrlStr( $ProductURL );
301
- $productName = $product->getId().'#$#'.$this->cleanStr( $product->getName() );
 
302
  $Reviews = $this->enablereviews ? $this->getReviews($product->getId()) : '';
303
  if( !empty( $Reviews ) )
304
  $Reviews = $this->cleanStr( $Reviews );
@@ -316,11 +317,18 @@ product thumbnail : ".$product->getThumbnail()."
316
  $ItemAttributes = "";
317
  $AllowAttributes = $product->getTypeInstance(true)->getConfigurableAttributes($product);
318
  foreach ($AllowAttributes as $attribute){
319
- $AttributeCode = $attribute->getProductAttribute()->getAttributeCode();
320
- $AttributeLabel = $attribute->getProductAttribute()->getFrontend()->getLabel();
 
 
 
 
 
 
 
321
  $AttribId = $UsedProduct->getData($AttributeCode);
322
  $AttributeValue = "";
323
- foreach ( $attribute->getProductAttribute()->getSource()->getAllOptions() as $option ){
324
  if( $option['value'] == $AttribId ){
325
  $AttributeValue = $option['label'];
326
  break;
@@ -342,7 +350,6 @@ product thumbnail : ".$product->getThumbnail()."
342
  }
343
  }
344
  $Price = $this->improvePrice( $Price );
345
-
346
  if($this->_DEBUG) echo "item image : ".$UsedProduct->getImage()."
347
  item small image: ".$UsedProduct->getSmallImage()."
348
  item thumbnail : ".$UsedProduct->getThumbnail()."
@@ -359,8 +366,8 @@ item thumbnail : ".$UsedProduct->getThumbnail()."
359
  }
360
  }
361
  $itemImages = implode( "#|#", $itemImages );
362
-
363
- $ProducttoString .= $this->cleanStr( $UsedProduct->getSku() ) //ItemID
364
  . "\t" //ItemQty
365
  . "\t" //ItemUom
366
  . "\t" . $Price //ItemPrice
@@ -410,7 +417,6 @@ item thumbnail : ".$UsedProduct->getThumbnail()."
410
  $longDescription = self::TAG_P.$longDescription.self::TAG_P_CLOSE;
411
  $ProductDescription .= $longDescription;
412
  }
413
-
414
  if($this->_DEBUG) echo "product image : ".$product->getImage()."
415
  product small image: ".$product->getSmallImage()."
416
  product thumbnail : ".$product->getThumbnail()."
@@ -464,7 +470,9 @@ product thumbnail : ".$product->getThumbnail()."
464
  $Reviews = $this->enablereviews ? $this->getReviews($product->getId()) : '';
465
  if( !empty( $Reviews ) )
466
  $Reviews = $this->cleanStr( $Reviews );
467
- $ProducttoString = $this->cleanStr( $product->getSku() ) //ItemID
 
 
468
  . "\t" //ItemQty
469
  . "\t" //ItemUom
470
  . "\t" . $Price //ItemPrice
@@ -472,7 +480,7 @@ product thumbnail : ".$product->getThumbnail()."
472
  . "\t" //ItemLink
473
  . "\t" //ItemitemAttributes
474
  . "\t" //ItemitemGraphic
475
- . "\t" . $product->getId().'#$#'.$this->cleanStr( $product->getName() ) //ProductName
476
  . "\t" . $ProductDescription //ProductDescription
477
  . "\t" . $prodImages //ProductGraphic
478
  . "\t" . $URL //ProductLink
@@ -536,6 +544,7 @@ product thumbnail : ".$product->getThumbnail()."
536
  $this->taxhelper->getPrice($product,$price['price'],true) :
537
  $price['price'];
538
  if( $tierPrice < $prodFinalPrice ){
 
539
  $rightstr .= $price['price_qty'].'#$#';
540
  $rightstr.=$tierPrice.'#$#';
541
  if( $i == $count )
@@ -592,6 +601,7 @@ product thumbnail : ".$product->getThumbnail()."
592
  $html = "";
593
  $children = $category->getChildrenCategories();
594
  $id = $category->getId();
 
595
  if( $level != 1 ){
596
  $path .= '-' . $j;
597
  $hpath = $hpath.'#$#'.$category->getName(); //.' '.$i.$path;
@@ -601,7 +611,8 @@ product thumbnail : ".$product->getThumbnail()."
601
  $hpath = $category->getName(); //.' '.$i;
602
  $seq = $i;
603
  }
604
- $html = "General\t".$seq."\t".$hpath."\t". $sec_Flag . "\n";
 
605
  if( count( $children ) ){
606
  $j = 1;
607
  foreach ( $children as $cat ){
@@ -625,18 +636,19 @@ product thumbnail : ".$product->getThumbnail()."
625
  if($this->_DEBUG) echo "StoreId: ".$this->StoreId." Top categories: ".$count."
626
  ";
627
  if( $count > 0 ){
 
628
  if($this->ignoretopcategory){
629
  foreach( $categories as $topcategory ){
630
  $children = $topcategory->getChildrenCategories();
631
  foreach ( $children as $category ){
632
  $this->catmap[ $category->getId() ] = $category;
633
- $this->_processCategory( $category, 1, $name );
634
  }
635
  }
636
  }else{
637
  foreach( $categories as $category ){
638
  $this->catmap[ $category->getId() ] = $category;
639
- $this->_processCategory( $category, 1, $name );
640
  }
641
  }
642
  }
@@ -663,6 +675,7 @@ Products: ".count( $prodIds )."
663
  if($this->_DEBUG) echo "Category: ".$category->getId()." path=".$hpath."
664
  ";
665
  $children = $category->getChildrenCategories();
 
666
  if( count( $children ) ) foreach ( $children as $childcategory ){
667
  $this->catmap[ $childcategory->getId() ] = $childcategory;
668
  $htmlChildren .= $this->_processCategory( $childcategory, $level + 1, $hpath, $path );
@@ -674,19 +687,20 @@ Products: ".count( $prodIds )."
674
  $listed = FALSE;
675
  if( $categoryIds ){
676
  foreach( $categoryIds as $k => $category_id ){
677
- $category = $this->catmap[ $category_id ];
678
- if( !isset( $category ) ){
679
  if($this->_DEBUG) echo "No category: ".$category_id."
680
  ";
681
  continue;
682
  }
 
683
  $hpath = $this->catpathmap[ $category_id ];
684
  $position = "";
685
  $positions = $category->getProductsPosition();
686
  if( count( $positions ) > 0 )
687
  $position = $positions[ $product->getId() ];
688
- $ProducttoString .= $product->getId().'#$#'.$this->cleanStr( $product->getName()) //ProductKey
689
- . "\t" . $product->getId().'#$#'.$this->cleanStr( $product->getName()) //Product Name
 
690
  . "\t" . $position //Prod Sequence
691
  . "\tGeneral" //Proj Name
692
  . "\t" . $hpath //Hirarachi Path
@@ -697,8 +711,9 @@ Products: ".count( $prodIds )."
697
  }
698
  }
699
  if( !$listed ){
700
- $ProducttoString .= $product->getId().'#$#'.$this->cleanStr( $product->getName()) //ProductKey
701
- . "\t" . $product->getId().'#$#'.$this->cleanStr( $product->getName()) //Product Name
 
702
  . "\t" . $this->unCatPosition //Prod Sequence
703
  . "\tGeneral" //Proj Name
704
  . "\tUncategorized" //Hirarachi Path
@@ -718,19 +733,20 @@ Products: ".count( $prodIds )."
718
  $categoryIds = $product->getCategoryIds();
719
  if( $categoryIds ){
720
  foreach( $categoryIds as $k => $category_id ){
721
- $category = $this->catmap[ $category_id ];
722
- if( !isset( $category ) ){
723
  if($this->_DEBUG) echo "No category: ".$category_id."
724
  ";
725
  continue;
726
  }
 
727
  $hpath = $this->catpathmap[ $category_id ];
728
  $position = "";
729
  $positions = $category->getProductsPosition();
730
  if( count( $positions ) > 0 )
731
  $position = $positions[ $product->getId() ];
732
- $ProducttoString .= $product->getId().'#$#'. $this->cleanStr( $product->getName()) //ProductKey
733
- . "\t" . $product->getId().'#$#'.$this->cleanStr( $product->getName()) //Product Name
 
734
  . "\t" . $position //Prod Sequence
735
  . "\tGeneral" //Proj Name
736
  . "\t" . $hpath //Hirarachi Path
@@ -741,8 +757,9 @@ Products: ".count( $prodIds )."
741
  }
742
  }
743
  if( !$listed ){
744
- $ProducttoString .= $product->getId().'#$#'.$this->cleanStr( $product->getName()) //ProductKey
745
- . "\t" . $product->getId().'#$#'.$this->cleanStr( $product->getName()) //Product Name
 
746
  . "\t" . $this->unCatPosition //Prod Sequence
747
  . "\tGeneral" //Proj Name
748
  . "\tUncategorized" //Hirarachi Path
148
  $ProductURL = $product->getProductUrl();
149
  if( !empty( $ProductURL ) )
150
  $ProductURL = $this->correctProdUrlStr( $ProductURL );
151
+ $productName = $product->getName();
152
+ $productName = $product->getId().'#$#'.$this->cleanStr( $productName );
153
  $Reviews = $this->enablereviews ? $this->getReviews($product->getId()) : '';
154
  if( !empty( $Reviews ) )
155
  $Reviews = $this->cleanStr( $Reviews );
181
  }
182
  }
183
  $itemImages = implode( "#|#", $itemImages );
 
184
  $attributes = $UsedProduct->getAttributes();
185
  $ItemAttributes = "";
186
  foreach ($attributes as $attribute) {
199
  }
200
  $ItemAttributes = substr($ItemAttributes, 0, strlen($ItemAttributes)-1 );
201
  $Price = $this->improvePrice( $Price );
202
+ $itemID = $UsedProduct->getSku();
203
+ $ProducttoString .= $this->cleanStr( $itemID ) //ItemID
204
  . "\t" //ItemQty
205
  . "\t" //ItemUom
206
  . "\t". $Price //ItemPrice
295
  }
296
  }
297
  $prodImages = implode( "#|#", $prodImages );
 
298
  $ProductURL = $product->getProductUrl();
299
  if( !empty( $ProductURL ) )
300
  $ProductURL = $this->correctProdUrlStr( $ProductURL );
301
+ $productName = $product->getName();
302
+ $productName = $product->getId().'#$#'.$this->cleanStr( $productName );
303
  $Reviews = $this->enablereviews ? $this->getReviews($product->getId()) : '';
304
  if( !empty( $Reviews ) )
305
  $Reviews = $this->cleanStr( $Reviews );
317
  $ItemAttributes = "";
318
  $AllowAttributes = $product->getTypeInstance(true)->getConfigurableAttributes($product);
319
  foreach ($AllowAttributes as $attribute){
320
+ $configurableProdAttribute = $attribute->getProductAttribute();
321
+ if( empty( $configurableProdAttribute ) ){
322
+ $label = $attribute->getLabel();
323
+ echo "WARNING: no product attribute for configurable attribute ".$label."
324
+ ";
325
+ continue;
326
+ }
327
+ $AttributeCode = $configurableProdAttribute->getAttributeCode();
328
+ $AttributeLabel = $configurableProdAttribute->getFrontend()->getLabel();
329
  $AttribId = $UsedProduct->getData($AttributeCode);
330
  $AttributeValue = "";
331
+ foreach ( $configurableProdAttribute->getSource()->getAllOptions() as $option ){
332
  if( $option['value'] == $AttribId ){
333
  $AttributeValue = $option['label'];
334
  break;
350
  }
351
  }
352
  $Price = $this->improvePrice( $Price );
 
353
  if($this->_DEBUG) echo "item image : ".$UsedProduct->getImage()."
354
  item small image: ".$UsedProduct->getSmallImage()."
355
  item thumbnail : ".$UsedProduct->getThumbnail()."
366
  }
367
  }
368
  $itemImages = implode( "#|#", $itemImages );
369
+ $itemID = $UsedProduct->getSku();
370
+ $ProducttoString .= $this->cleanStr( $itemID ) //ItemID
371
  . "\t" //ItemQty
372
  . "\t" //ItemUom
373
  . "\t" . $Price //ItemPrice
417
  $longDescription = self::TAG_P.$longDescription.self::TAG_P_CLOSE;
418
  $ProductDescription .= $longDescription;
419
  }
 
420
  if($this->_DEBUG) echo "product image : ".$product->getImage()."
421
  product small image: ".$product->getSmallImage()."
422
  product thumbnail : ".$product->getThumbnail()."
470
  $Reviews = $this->enablereviews ? $this->getReviews($product->getId()) : '';
471
  if( !empty( $Reviews ) )
472
  $Reviews = $this->cleanStr( $Reviews );
473
+ $prodSku = $product->getSku();
474
+ $prodName = $product->getName();
475
+ $ProducttoString = $this->cleanStr( $prodSku ) //ItemID
476
  . "\t" //ItemQty
477
  . "\t" //ItemUom
478
  . "\t" . $Price //ItemPrice
480
  . "\t" //ItemLink
481
  . "\t" //ItemitemAttributes
482
  . "\t" //ItemitemGraphic
483
+ . "\t" . $product->getId().'#$#'.$this->cleanStr( $prodName ) //ProductName
484
  . "\t" . $ProductDescription //ProductDescription
485
  . "\t" . $prodImages //ProductGraphic
486
  . "\t" . $URL //ProductLink
544
  $this->taxhelper->getPrice($product,$price['price'],true) :
545
  $price['price'];
546
  if( $tierPrice < $prodFinalPrice ){
547
+ $tierPrice = $this->improvePrice( "".$tierPrice );
548
  $rightstr .= $price['price_qty'].'#$#';
549
  $rightstr.=$tierPrice.'#$#';
550
  if( $i == $count )
601
  $html = "";
602
  $children = $category->getChildrenCategories();
603
  $id = $category->getId();
604
+ $sec_path = "";
605
  if( $level != 1 ){
606
  $path .= '-' . $j;
607
  $hpath = $hpath.'#$#'.$category->getName(); //.' '.$i.$path;
611
  $hpath = $category->getName(); //.' '.$i;
612
  $seq = $i;
613
  }
614
+ $html = "General\t".$seq."\t".$hpath."\t\n";
615
+ $htmlChildren = "";
616
  if( count( $children ) ){
617
  $j = 1;
618
  foreach ( $children as $cat ){
636
  if($this->_DEBUG) echo "StoreId: ".$this->StoreId." Top categories: ".$count."
637
  ";
638
  if( $count > 0 ){
639
+ $hpath = "";
640
  if($this->ignoretopcategory){
641
  foreach( $categories as $topcategory ){
642
  $children = $topcategory->getChildrenCategories();
643
  foreach ( $children as $category ){
644
  $this->catmap[ $category->getId() ] = $category;
645
+ $this->_processCategory( $category, 1, $hpath );
646
  }
647
  }
648
  }else{
649
  foreach( $categories as $category ){
650
  $this->catmap[ $category->getId() ] = $category;
651
+ $this->_processCategory( $category, 1, $hpath );
652
  }
653
  }
654
  }
675
  if($this->_DEBUG) echo "Category: ".$category->getId()." path=".$hpath."
676
  ";
677
  $children = $category->getChildrenCategories();
678
+ $htmlChildren = "";
679
  if( count( $children ) ) foreach ( $children as $childcategory ){
680
  $this->catmap[ $childcategory->getId() ] = $childcategory;
681
  $htmlChildren .= $this->_processCategory( $childcategory, $level + 1, $hpath, $path );
687
  $listed = FALSE;
688
  if( $categoryIds ){
689
  foreach( $categoryIds as $k => $category_id ){
690
+ if( !isset( $this->catmap[ $category_id ] ) ){
 
691
  if($this->_DEBUG) echo "No category: ".$category_id."
692
  ";
693
  continue;
694
  }
695
+ $category = $this->catmap[ $category_id ];
696
  $hpath = $this->catpathmap[ $category_id ];
697
  $position = "";
698
  $positions = $category->getProductsPosition();
699
  if( count( $positions ) > 0 )
700
  $position = $positions[ $product->getId() ];
701
+ $productName = $product->getName();
702
+ $ProducttoString .= $product->getId().'#$#'.$this->cleanStr( $productName ) //ProductKey
703
+ . "\t" . $product->getId().'#$#'.$this->cleanStr( $productName ) //Product Name
704
  . "\t" . $position //Prod Sequence
705
  . "\tGeneral" //Proj Name
706
  . "\t" . $hpath //Hirarachi Path
711
  }
712
  }
713
  if( !$listed ){
714
+ $productName = $product->getName();
715
+ $ProducttoString .= $product->getId().'#$#'.$this->cleanStr( $productName ) //ProductKey
716
+ . "\t" . $product->getId().'#$#'.$this->cleanStr( $productName ) //Product Name
717
  . "\t" . $this->unCatPosition //Prod Sequence
718
  . "\tGeneral" //Proj Name
719
  . "\tUncategorized" //Hirarachi Path
733
  $categoryIds = $product->getCategoryIds();
734
  if( $categoryIds ){
735
  foreach( $categoryIds as $k => $category_id ){
736
+ if( !isset( $this->catmap[ $category_id ] ) ){
 
737
  if($this->_DEBUG) echo "No category: ".$category_id."
738
  ";
739
  continue;
740
  }
741
+ $category = $this->catmap[ $category_id ];
742
  $hpath = $this->catpathmap[ $category_id ];
743
  $position = "";
744
  $positions = $category->getProductsPosition();
745
  if( count( $positions ) > 0 )
746
  $position = $positions[ $product->getId() ];
747
+ $productName = $product->getName();
748
+ $ProducttoString .= $product->getId().'#$#'. $this->cleanStr( $productName ) //ProductKey
749
+ . "\t" . $product->getId().'#$#'.$this->cleanStr( $productName ) //Product Name
750
  . "\t" . $position //Prod Sequence
751
  . "\tGeneral" //Proj Name
752
  . "\t" . $hpath //Hirarachi Path
757
  }
758
  }
759
  if( !$listed ){
760
+ $productName = $product->getName();
761
+ $ProducttoString .= $product->getId().'#$#'.$this->cleanStr( $productName ) //ProductKey
762
+ . "\t" . $product->getId().'#$#'.$this->cleanStr( $productName ) //Product Name
763
  . "\t" . $this->unCatPosition //Prod Sequence
764
  . "\tGeneral" //Proj Name
765
  . "\tUncategorized" //Hirarachi Path
app/code/community/Mage/CodiScript/controllers/IndexController.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- define("VERSION","2012-11-05");
3
 
4
  class Mage_CodiScript_IndexController extends Mage_Core_Controller_Front_Action{
5
  public function indexAction(){
@@ -16,9 +16,20 @@ header('Content-Type: text/plain; charset=UTF-8');
16
  header('Content-Disposition: inline; filename="'.$Class.'.txt"');
17
  header('X-CoDSoftware-Version: '.VERSION);
18
  // Enable errors display / list versions
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  if($_DEBUG || $_INFO){
20
- ini_set('display_errors', '1');
21
- ini_set('error_reporting', E_ALL);
22
  $started_time = time();
23
  echo "PHP version: ".phpversion()."
24
  Magento version: ".Mage::getVersion()."
1
  <?php
2
+ define("VERSION","2012-12-07");
3
 
4
  class Mage_CodiScript_IndexController extends Mage_Core_Controller_Front_Action{
5
  public function indexAction(){
16
  header('Content-Disposition: inline; filename="'.$Class.'.txt"');
17
  header('X-CoDSoftware-Version: '.VERSION);
18
  // Enable errors display / list versions
19
+ ini_set('display_errors', '1');
20
+ ini_set('error_reporting', E_ALL);
21
+ ini_set('html_errors', '0');
22
+ ini_set('xmlrpc_errors', '0');
23
+ ini_set('error_prepend_string', "");
24
+ ini_set('error_append_string', "");
25
+ function myErrorHandler($errno,$errstr,$errfile,$errline){
26
+ echo "WARNING: ".$errstr." (line ".$errline.")
27
+ ";
28
+ return true;
29
+ }
30
+ // Set an error handler for warnings and notices.
31
+ set_error_handler('myErrorHandler');
32
  if($_DEBUG || $_INFO){
 
 
33
  $started_time = time();
34
  echo "PHP version: ".phpversion()."
35
  Magento version: ".Mage::getVersion()."
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Mage_Codi</name>
4
- <version>4.0.1</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>
8
  <extends/>
9
  <summary>Catalog-on-Demand</summary>
10
  <description>Extension to connect to the Catalog-on-Demand service for making print catalogs, brochures, and flyers.</description>
11
- <notes>This is the same as 4.0.0. We are updating the version number in order to create a new release with the pear version.</notes>
12
  <authors><author><name>catalogondemand</name><user>auto-converted</user><email>timh@catalog-on-demand.com</email></author></authors>
13
- <date>2012-11-12</date>
14
- <time>18:02:27</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="4fba0c46ff1a3eaaea8b78d58a23ce2c"/></dir><dir name="controllers"><file name="IndexController.php" hash="b62d33bf331bf89be761e2271428047d"/></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>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Mage_Codi</name>
4
+ <version>4.0.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>
8
  <extends/>
9
  <summary>Catalog-on-Demand</summary>
10
  <description>Extension to connect to the Catalog-on-Demand service for making print catalogs, brochures, and flyers.</description>
11
+ <notes>Adding new capabilities for troubleshooting. 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>2012-12-08</date>
14
+ <time>00:07:56</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="20e3367fdc068bf5fad8f38bae1ac33a"/></dir><dir name="controllers"><file name="IndexController.php" hash="3a79ed74311b7331e32887133af68aa1"/></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>