Semantium_MSemanticBasic - Version 1.2.6

Version Notes

Magento 1.3: if you use another language than english or german, than the "Strong Identifier" attribute is named "EAN Code" in the backend. But it also works well with GTIN-8 or GTIN-14 (configurable in the global MSemantic configuration). You can rename the label of this attribute manually in the table eav_attribute (attribute_code is gr_ean).

Download this release

Release Info

Developer Magento Core Team
Extension Semantium_MSemanticBasic
Version 1.2.6
Comparing to
See all releases


Code changes from version 1.2.5 to 1.2.6

app/code/community/Semantium/MSemanticBasic/Helper/AbstractFormat.php CHANGED
@@ -45,6 +45,8 @@ abstract class Semantium_MSemanticBasic_Helper_AbstractFormat extends Mage_Core_
45
  "gr:validThrough" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#dateTime"',
46
  "gr:eligibleRegions" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#string"',
47
  "gr:hasCurrencyValue" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#float"',
 
 
48
  "gr:hasCurrency" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#string"',
49
  "gr:hasUnitOfMeasurement" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#string"',
50
  "gr:valueAddedTaxIncluded" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#boolean"',
45
  "gr:validThrough" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#dateTime"',
46
  "gr:eligibleRegions" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#string"',
47
  "gr:hasCurrencyValue" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#float"',
48
+ "gr:hasMaxCurrencyValue" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#float"',
49
+ "gr:hasMinCurrencyValue" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#float"',
50
  "gr:hasCurrency" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#string"',
51
  "gr:hasUnitOfMeasurement" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#string"',
52
  "gr:valueAddedTaxIncluded" => '{rdf}datatype="http://www.w3.org/2001/XMLSchema#boolean"',
app/code/community/Semantium/MSemanticBasic/Model/GoodRelations.php CHANGED
@@ -500,24 +500,31 @@ $manufacturers = $attribute->getSource()->getAllOptions(false);
500
  $pDescr = htmlspecialchars($pDescr);
501
  $statements .= $this->RDFS->pDesc( $pDescr, $localeCode );
502
 
503
- $inv = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product)->getQty();
504
-
505
- $statements .= "<div rel=\"gr:hasInventoryLevel\">
506
- <div typeof=\"gr:QuantitativeValue\">
507
- <div property=\"gr:hasMinValue\" content=\"".round($inv,0)."\" datatype=\"xsd:float\">".
508
- "</div>
509
- <div property=\"gr:hasUnitOfMeasurement\" datatype=\"xsd:string\" content=\"C62\"></div>
510
- </div>
511
- </div>
512
- ";
513
 
514
  //$statements .= Mage::getStoreConfig('catalog/review');
515
  //review stuff
 
 
516
  $array = Mage::getStoreConfig('catalog/review');
517
  if ($array['allow_guest'] == 1) // reviews active
518
  $statements .= $this->pReview();
519
  $grOffering .= $this->rdff->wrapStatements($statements, $this->getURI('offering'), "gr:Offering");
520
  $isSaleable = $this->Product->isSaleable();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
521
  return $grOffering;
522
 
523
  }
@@ -562,10 +569,16 @@ $manufacturers = $attribute->getSource()->getAllOptions(false);
562
  return $pHasBusinessFunction;
563
  }
564
 
 
 
 
565
  protected function pHasPriceSpecification()
566
  {
567
  $priceSpecifications = "";
568
-
 
 
 
569
 
570
  //check if tax is in price
571
  $tax = Mage::helper('tax');
@@ -576,74 +589,69 @@ $manufacturers = $attribute->getSource()->getAllOptions(false);
576
  // check if special price
577
 
578
  if ($this->Product->getSpecialPrice()) {
579
- $propArray_reg = array(
580
- "gr:hasCurrencyValue" => round($this->Product->getPrice(1), 2), // 1 unit
581
- "gr:hasCurrency" => Mage::app()->getStore()->getCurrentCurrencyCode(),
582
- "gr:hasUnitOfMeasurement" => "C62" // price per unit
583
- );
584
- $propArray_special = array(
585
- "gr:hasCurrencyValue" => round($this->Product->getSpecialPrice(1), 2), // 1 unit
586
- "gr:hasCurrency" => Mage::app()->getStore()->getCurrentCurrencyCode(),
587
- "gr:hasUnitOfMeasurement" => "C62" // price per unit
588
- );
589
- // spec. price
590
- // first regular price
591
-
592
- // $statements = $this->rdff->properties($propArray_reg,$this->getReplacements());
593
-
594
- // $statements .= $this->validFromThrough();
595
 
596
- // $attributes = $this->rdff->wrapStatements($statements, $this->getURI("regularUnitPriceSpecification"), "gr:UnitPriceSpecification" );
597
-
598
- // then special price
599
-
600
- $statements = $this->rdff->properties($propArray_special,$this->getReplacements());
601
-
602
-
603
- //
 
 
 
 
 
604
 
605
- if ( $this->Product->getSpecialToDate() ){
606
- $validproperties = array(
607
- "gr:validFrom" => $this->div->dateToIso8601( $this->Product->getSpecialFromDate() ),
608
- "gr:validThrough" => $this->div->dateToIso8601( $this->Product->getSpecialToDate() )
609
- );
610
- $statements .= $this->rdff->properties($validproperties, $this->getReplacements());
611
 
612
- }
613
  else {
614
- $statements .= $this->validFromThrough();}
615
-
616
-
617
-
618
 
619
- $attributes = $this->rdff->wrapStatements($statements, $this->getURI("specialUnitPriceSpecification"), "gr:UnitPriceSpecification" );
620
-
621
-
622
-
623
- }
624
-
625
-
626
- else {
627
- $propArray = array(
628
- "gr:hasCurrencyValue" => round($this->Product->getFinalPrice(1), 2), // 1 unit
629
- "gr:hasCurrency" => Mage::app()->getStore()->getCurrentCurrencyCode(),
630
- "gr:hasUnitOfMeasurement" => "C62" // price per unit
631
- );
632
- $statements = $this->rdff->properties($propArray,$this->getReplacements());
633
-
634
- $statements .= $this->validFromThrough();
635
 
636
- $attributes = $this->rdff->wrapStatements($statements, $this->getURI("unitPriceSpecification"), "gr:UnitPriceSpecification" );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
637
 
638
- //$attributes .= $this->pValidFromThrough();
639
 
640
- }
641
-
642
  $priceSpecifications .= $this->rdff->wrapRel($attributes, "gr:hasPriceSpecification");
643
 
644
  return $priceSpecifications;
645
  }
646
 
 
 
 
 
 
647
  protected function pValidFromThrough()
648
  {
649
  $validFrom = date("Y-m-d", strtotime("now"));
@@ -740,7 +748,7 @@ $manufacturers = $attribute->getSource()->getAllOptions(false);
740
 
741
  $productId = $this->Product->getId();
742
  $product = Mage::getModel('catalog/product')->load($productId);
743
-
744
 
745
 
746
  if ($product->getData('condition')) {
@@ -767,35 +775,38 @@ $manufacturers = $attribute->getSource()->getAllOptions(false);
767
  $statements .= $this->rdff->rel("gr:hasManufacturer",$this->Business->getBaseURL() . '#manufacturer_'.$product->getData('manufacturer'), NULL,"en");
768
  }
769
 
 
770
 
771
- $categoryIds = $product->getCategoryIds();
772
 
773
- foreach($categoryIds as $categoryId) {
774
- $category = Mage::getModel('catalog/category')->load($categoryId);
775
 
776
- $i = $category->getLevel();
777
- $parent = $category;
778
- $category_name = "";
779
- while($i > 2) {
780
- $parent = Mage::getModel('catalog/category')->load($parent->getParentId());
781
- if ($parent->getName() != "Hauptnavigation") {
782
- $category_name = $parent->getName()."/".$category_name;
783
- }
784
- $i--;
785
- }
786
 
787
  if ($category->getName()) $statements .= $this->rdff->property("gr:category",htmlentities($category_name.$category->getName(),ENT_QUOTES,"UTF-8"),NULL,$this->sysinfo->getLocaleCode());
788
 
789
  }
790
 
 
791
 
792
- // strongId if isset
793
- // changed in version 0.9.9.3.9
794
- // Michael Lambertz 2011-07-12
795
- $strongId = $this->productGetAttributeValue('strongid');
 
 
796
  if ($strongId)
797
  {
798
-
799
  $settings = Mage::getStoreConfig("semantium");
800
  $strongid_type = @$settings['strongid']['strongid_type'];
801
 
@@ -823,18 +834,31 @@ foreach($categoryIds as $categoryId) {
823
 
824
  // dawn of template style
825
 
 
 
 
 
 
 
 
 
826
  $inv = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product)->getQty();
827
-
828
- $statements .= "<div rel=\"gr:hasInventoryLevel\">
829
- <div typeof=\"gr:QuantitativeValue\">
830
- <div property=\"gr:hasMinValue\" content=\"".round($inv,0)."\" datatype=\"xsd:float\">".
831
- "</div>
832
- <div property=\"gr:hasUnitOfMeasurement\" datatype=\"xsd:string\" content=\"C62\"></div>
833
- </div>
834
- </div>
835
- ";
836
 
 
 
 
 
 
 
 
 
 
837
 
 
838
 
839
 
840
 
500
  $pDescr = htmlspecialchars($pDescr);
501
  $statements .= $this->RDFS->pDesc( $pDescr, $localeCode );
502
 
 
 
 
 
 
 
 
 
 
 
503
 
504
  //$statements .= Mage::getStoreConfig('catalog/review');
505
  //review stuff
506
+ $statements .= "
507
+ <div rel=\"foaf:maker\" resource=\"urn:goodrelations_shop_extensions:msemantic:v1.2.6\"></div>";
508
  $array = Mage::getStoreConfig('catalog/review');
509
  if ($array['allow_guest'] == 1) // reviews active
510
  $statements .= $this->pReview();
511
  $grOffering .= $this->rdff->wrapStatements($statements, $this->getURI('offering'), "gr:Offering");
512
  $isSaleable = $this->Product->isSaleable();
513
+
514
+ /* #This will be the related product code.
515
+ $related = $product->getUpsellProducts();
516
+ # print gettype($related);
517
+ # $related->load();
518
+ foreach ($related as $item) {
519
+ # $item->setDoNotUseCategoryId(true);
520
+ print $item->getProductUrl();
521
+ print $item->getName();
522
+ # print gettype($item);
523
+ }
524
+ */
525
+
526
+
527
+
528
  return $grOffering;
529
 
530
  }
569
  return $pHasBusinessFunction;
570
  }
571
 
572
+
573
+ ###################
574
+
575
  protected function pHasPriceSpecification()
576
  {
577
  $priceSpecifications = "";
578
+ $productId = $this->Product->getId();
579
+
580
+ $product = Mage::getModel('catalog/product')->load($productId);
581
+ $storeId = Mage::app()->getStore()->getId();
582
 
583
  //check if tax is in price
584
  $tax = Mage::helper('tax');
589
  // check if special price
590
 
591
  if ($this->Product->getSpecialPrice()) {
592
+ $propArray_reg = array(
593
+ "gr:hasCurrencyValue" => round($this->Product->getPrice(1), 2), // 1 unit
594
+ "gr:hasCurrency" => Mage::app()->getStore()->getCurrentCurrencyCode(),
595
+ "gr:hasUnitOfMeasurement" => "C62" // price per unit
596
+ );
597
+ $propArray_special = array(
598
+ "gr:hasCurrencyValue" => round($this->Product->getSpecialPrice(1), 2), // 1 unit
599
+ "gr:hasCurrency" => Mage::app()->getStore()->getCurrentCurrencyCode(),
600
+ "gr:hasUnitOfMeasurement" => "C62" // price per unit
601
+ );
 
 
 
 
 
 
602
 
603
+ $statements = $this->rdff->properties($propArray_special,$this->getReplacements());
604
+
605
+ if ( $this->Product->getSpecialToDate() ){
606
+ $validproperties = array(
607
+ "gr:validFrom" => $this->div->dateToIso8601( $this->Product->getSpecialFromDate() ),
608
+ "gr:validThrough" => $this->div->dateToIso8601( $this->Product->getSpecialToDate() )
609
+ );
610
+ $statements .= $this->rdff->properties($validproperties, $this->getReplacements());
611
+ }
612
+ else { $statements .= $this->validFromThrough();}
613
+
614
+ $attributes = $this->rdff->wrapStatements($statements, $this->getURI("specialUnitPriceSpecification"), "gr:UnitPriceSpecification" );
615
+ }
616
 
 
 
 
 
 
 
617
 
 
618
  else {
619
+ // pricing
 
 
 
620
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
621
 
622
+
623
+
624
+ if ($product->getTypeId() == "bundle") {
625
+
626
+ // get min price of bundle
627
+
628
+ $minmax = $product->getPriceModel()->getPrices($product);
629
+ $propArray["gr:hasMinCurrencyValue"] = round($minmax[0],2);
630
+ $propArray["gr:hasMaxCurrencyValue"] = round($minmax[1],2); }
631
+
632
+ else { $propArray["gr:hasCurrencyValue"] = round($this->Product->getFinalPrice(1), 2); }
633
+
634
+ // rest of array
635
+ $propArray["gr:hasCurrency"] = Mage::app()->getStore()->getCurrentCurrencyCode();
636
+ $propArray["gr:hasUnitOfMeasurement"] = "C62";
637
+
638
+ $statements = $this->rdff->properties($propArray,$this->getReplacements());
639
+ $statements .= $this->validFromThrough();
640
+ $attributes = $this->rdff->wrapStatements($statements, $this->getURI("unitPriceSpecification"), "gr:UnitPriceSpecification" );
641
+
642
+ }
643
 
 
644
 
 
 
645
  $priceSpecifications .= $this->rdff->wrapRel($attributes, "gr:hasPriceSpecification");
646
 
647
  return $priceSpecifications;
648
  }
649
 
650
+
651
+ ###########################
652
+
653
+
654
+
655
  protected function pValidFromThrough()
656
  {
657
  $validFrom = date("Y-m-d", strtotime("now"));
748
 
749
  $productId = $this->Product->getId();
750
  $product = Mage::getModel('catalog/product')->load($productId);
751
+ $storeId = Mage::app()->getStore()->getId();
752
 
753
 
754
  if ($product->getData('condition')) {
775
  $statements .= $this->rdff->rel("gr:hasManufacturer",$this->Business->getBaseURL() . '#manufacturer_'.$product->getData('manufacturer'), NULL,"en");
776
  }
777
 
778
+
779
 
780
+ $categoryIds = $product->getCategoryIds();
781
 
782
+ foreach($categoryIds as $categoryId) {
783
+ $category = Mage::getModel('catalog/category')->load($categoryId);
784
 
785
+ $i = $category->getLevel();
786
+ $parent = $category;
787
+ $category_name = "";
788
+ while($i > 2) {
789
+ $parent = Mage::getModel('catalog/category')->load($parent->getParentId());
790
+ if ($parent->getName() != "Hauptnavigation") {
791
+ $category_name = $parent->getName()."/".$category_name;
792
+ }
793
+ $i--;
794
+ }
795
 
796
  if ($category->getName()) $statements .= $this->rdff->property("gr:category",htmlentities($category_name.$category->getName(),ENT_QUOTES,"UTF-8"),NULL,$this->sysinfo->getLocaleCode());
797
 
798
  }
799
 
800
+ $settings = Mage::getStoreConfig("semantium");
801
 
802
+ if (@$settings['strongid']['strongid_db']) {
803
+ $strongId = $product->getData(@$settings['strongid']['strongid_dba']);
804
+ }
805
+
806
+ else {$strongId = $this->productGetAttributeValue('strongid');}
807
+
808
  if ($strongId)
809
  {
 
810
  $settings = Mage::getStoreConfig("semantium");
811
  $strongid_type = @$settings['strongid']['strongid_type'];
812
 
834
 
835
  // dawn of template style
836
 
837
+ // Inventory - VALID
838
+
839
+
840
+ if ($product->getTypeId() != "bundle" and $product->getTypeId() != "configurable") {
841
+
842
+ if ($product->getStockItem()->getManageStock())
843
+ {
844
+
845
  $inv = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product)->getQty();
846
+ }
847
+ else {
848
+ if ($product->isSaleable()) {/*$inv = 42;*/}
849
+ }
 
 
 
 
 
850
 
851
+ if (isset($inv)) {
852
+ $statements .= "
853
+ <div rel=\"gr:hasInventoryLevel\">
854
+ <div typeof=\"gr:QuantitativeValue\">
855
+ <div property=\"gr:hasMinValue\" content=\"".round($inv,0)."\" datatype=\"xsd:float\"></div>
856
+ <div property=\"gr:hasUnitOfMeasurement\" datatype=\"xsd:string\" content=\"C62\"></div>
857
+ </div>
858
+ </div>";
859
+ }
860
 
861
+ }
862
 
863
 
864
 
app/code/community/Semantium/MSemanticBasic/Model/Observer.php CHANGED
@@ -25,7 +25,7 @@ class Semantium_MSemanticBasic_Model_Observer
25
  protected function notifySWSE($submission_url="http://gr-notify.appspot.com/submit?uri=") {
26
  $email = Mage::getStoreConfig('trans_email/ident_general/email');
27
  $base_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
28
- $sitemap_url = $submission_url.$base_url."sitemap.xml"."&contact=".$email."&agent=msemantic-1.2.5";
29
  $this->_httpGet($sitemap_url);
30
  }
31
 
25
  protected function notifySWSE($submission_url="http://gr-notify.appspot.com/submit?uri=") {
26
  $email = Mage::getStoreConfig('trans_email/ident_general/email');
27
  $base_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
28
+ $sitemap_url = $submission_url.$base_url."sitemap.xml"."&contact=".$email."&agent=msemantic-1.2.6";
29
  $this->_httpGet($sitemap_url);
30
  }
31
 
app/code/community/Semantium/MSemanticBasic/Model/Sitemap.php ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Semantium_MSemanticBasic_Model_Sitemap
4
+ {
5
+
6
+ public function createSitemap()
7
+ {
8
+
9
+
10
+
11
+ ### was wird hier importiert
12
+
13
+ # require ("../config/config.php");
14
+
15
+ $inhalt = '';
16
+ $inhalt_produkte = '';
17
+ $inhalt_hersteller = '';
18
+ $inhalt_index = '';
19
+ $blog_text = '';
20
+ $a = '0';
21
+ $g = '0';
22
+ $h = '0';
23
+ $l = '0';
24
+ $x = '0';
25
+
26
+
27
+ // kategorien
28
+
29
+ // SQL-Abfrage (kategorien: url und datum)
30
+ $query = mysql_query("SELECT catalog_category_entity.updated_at AS 'datum', core_url_rewrite.request_path AS 'url'
31
+ FROM catalog_category_entity
32
+ INNER JOIN core_url_rewrite
33
+ ON catalog_category_entity.entity_id = core_url_rewrite.category_id
34
+ WHERE core_url_rewrite.product_id IS NULL
35
+ AND core_url_rewrite.request_path NOT LIKE '%hersteller%'
36
+ AND core_url_rewrite.request_path NOT LIKE '%preisaktion%'
37
+ ");
38
+
39
+ echo mysql_error();
40
+
41
+ while($reihe = mysql_fetch_array($query)) {
42
+ $inhalt .= '<url><loc>http://www.arzneimittel.de/'.$reihe['url'].'</loc><lastmod>'.str_replace(' ','T',$reihe['datum']).'-02:00</lastmod><changefreq>daily</changefreq><priority>0.5</priority></url>'."\n";
43
+ $g++;
44
+ //echo $g.'<br/>';
45
+ }
46
+
47
+ $startseite = '<url><loc>http://www.arzneimittel.de</loc><lastmod>'.date('c').'</lastmod><changefreq>always</changefreq><priority>1</priority></url>'."\n"; // date('Y-m-d')
48
+ /*
49
+ $dateiname = '../../sitemap_kategorien.xml';
50
+ $datei = fopen ($dateiname,"w");
51
+ fwrite($datei,'<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'."\n".$startseite.$inhalt.'</urlset>');
52
+ fclose($datei);
53
+ */
54
+ $dateiname = '../../sitemap.xml';
55
+ $datei = fopen ($dateiname,"w");
56
+ fwrite($datei,'<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'."\n".$startseite.$inhalt.'</urlset>');
57
+ fclose($datei);
58
+
59
+ echo 'urls (kategorien): '.$g.'<br/>';
60
+
61
+
62
+ // produkte - mehrere dateien
63
+
64
+
65
+ // datum für ratgeber
66
+ $handle1 = fopen ("sitemap_datei_blog.csv","r"); // Datei zum Lesen öffnen
67
+
68
+ while ( ($data= fgetcsv ($handle1, 1000, ";")) !== FALSE ) {
69
+ $blog[str_pad($data[0], 7, "0", STR_PAD_LEFT)] = $data[1];
70
+ $blog_text .= str_pad($data[0], 7, "0", STR_PAD_LEFT).';';
71
+ }
72
+
73
+ fclose($handle1);
74
+
75
+ //print_r($blog);
76
+
77
+ // SQL-Abfrage (produkte: url und datum)
78
+ $query_produkte = mysql_query("SELECT catalog_product_entity.updated_at AS 'datum', core_url_rewrite.request_path AS 'url', catalog_product_entity.sku AS 'pzn'
79
+ FROM catalog_product_entity
80
+ INNER JOIN core_url_rewrite
81
+ ON catalog_product_entity.entity_id = core_url_rewrite.product_id
82
+ WHERE core_url_rewrite.category_id IS NULL
83
+ ");
84
+
85
+ echo mysql_error();
86
+
87
+ while($reihe_produkte = mysql_fetch_array($query_produkte)) {
88
+ $l++;
89
+ $modolus = $l % 50000;
90
+ if ($modolus == '0') $a++;
91
+
92
+ // wenn pzn in blog-datei, dann nehme aktuelleres datum
93
+
94
+ // abfrage ob pzn in array, wenn ja abfrage ob datum aktueller
95
+ if (strstr($blog_text,str_pad($reihe_produkte['pzn'], 7, "0", STR_PAD_LEFT))) {
96
+ if ($reihe_produkte['datum'] < $blog[str_pad($reihe_produkte['pzn'], 7, "0", STR_PAD_LEFT)]) {
97
+ $datum = str_replace(' ','T',$blog[str_pad($reihe_produkte['pzn'], 7, "0", STR_PAD_LEFT)]).'+00:00';
98
+ //echo str_pad($reihe_produkte['pzn'], 7, "0", STR_PAD_LEFT).'neues datum<br/>';
99
+ }
100
+ else {
101
+ $datum = str_replace(' ','T',$reihe_produkte['datum']).'-02:00';
102
+ }
103
+ }
104
+ else {
105
+ $datum = str_replace(' ','T',$reihe_produkte['datum']).'-02:00';
106
+ }
107
+
108
+ $inhalt_produkte[$a] .= '<url><loc>http://www.arzneimittel.de/'.$reihe_produkte['url'].'</loc><lastmod>'.$datum.'</lastmod><changefreq>daily</changefreq><priority>1</priority></url>'."\n";
109
+ $h++;
110
+ }
111
+
112
+ for ($i='0'; $i < '5'; $i++) {
113
+ $dateiname = '../../sitemap_produkte_'.$i.'.xml';
114
+ $datei = fopen ($dateiname,"w");
115
+ fwrite($datei,'<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'."\n".$inhalt_produkte[$i].'</urlset>');
116
+ fclose($datei);
117
+ }
118
+
119
+ echo 'urls (produkte): '.$h.'<br/>';
120
+
121
+
122
+
123
+ // sitemap-index
124
+ $inhalt_index .= '<sitemap><loc>http://www.arzneimittel.de/sitemap.xml</loc><lastmod>'.date('Y-m-d').'</lastmod></sitemap>'."\n";
125
+ $inhalt_index .= '<sitemap><loc>http://www.arzneimittel.de/sitemap_produkte_1.xml</loc><lastmod>'.date('Y-m-d').'</lastmod></sitemap>'."\n";
126
+ $inhalt_index .= '<sitemap><loc>http://www.arzneimittel.de/sitemap_produkte_2.xml</loc><lastmod>'.date('Y-m-d').'</lastmod></sitemap>'."\n";
127
+ $inhalt_index .= '<sitemap><loc>http://www.arzneimittel.de/sitemap_produkte_3.xml</loc><lastmod>'.date('Y-m-d').'</lastmod></sitemap>'."\n";
128
+ $inhalt_index .= '<sitemap><loc>http://www.arzneimittel.de/sitemap_produkte_4.xml</loc><lastmod>'.date('Y-m-d').'</lastmod></sitemap>'."\n";
129
+ $inhalt_index .= '<sitemap><loc>http://www.arzneimittel.de/sitemap_hersteller.xml</loc><lastmod>'.date('Y-m-d').'</lastmod></sitemap>'."\n";
130
+ $inhalt_index .= '<sitemap><loc>http://www.arzneimittel.de/blog/sitemap.xml</loc><lastmod>'.date('Y-m-d').'</lastmod></sitemap>'."\n";
131
+
132
+
133
+
134
+ $dateiname = '../../sitemap_index.xml';
135
+ $datei = fopen ($dateiname,"w");
136
+ fwrite($datei,'<?xml version="1.0" encoding="UTF-8"?><sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'."\n".$inhalt_index.'</sitemapindex>');
137
+ fclose($datei);
138
+
139
+ echo 'sitemap-index erstellt<br/>';
140
+ }
141
+
142
+
143
+ }
144
+
145
+ ?>
app/code/community/Semantium/MSemanticBasic/Model/System/Config/Source/Product/Attributes.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Semantium_MSemanticBasic_Model_System_Config_Source_Product_Attributes
3
+ {
4
+ public function toOptionArray(){
5
+ $options = array();
6
+ $entityTypeId = Mage::getModel('eav/entity_type')->loadByCode('catalog_product')->getEntityTypeId();
7
+ $attributes = Mage::getModel('eav/entity_attribute')->getCollection()->addFilter('entity_type_id', $entityTypeId)->setOrder('attribute_code', 'ASC');
8
+ foreach ($attributes as $attribute){
9
+ $item = array();
10
+ $item['value'] = $attribute->getAttributeCode();
11
+ if ($attribute->getFrontendLabel()){
12
+ $item['label'] = $attribute->getFrontendLabel();
13
+ }
14
+ else{
15
+ $item['label'] = $attribute->getAttributeCode();
16
+ }
17
+ $options[] = $item;
18
+ }
19
+
20
+ return $options;
21
+ }
22
+ }
app/code/community/Semantium/MSemanticBasic/changelog.txt CHANGED
@@ -1,6 +1,20 @@
1
  Changelog:
2
  ***************
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  1.2.5
5
 
6
  * minimal fix
1
  Changelog:
2
  ***************
3
 
4
+ 1.2.6
5
+
6
+ * new features:
7
+ How-to for boosting your crawl rate by publishing correct lastmod values in the sitemap.xml generated by Magento's Google sitemap feature
8
+ agent & version as foaf:maker
9
+ general installation notes / documentation update
10
+ pick a custom Strong identifier from your existing attributes
11
+
12
+ * bugfixes:
13
+ 0 stock inventory if stock management not activated now fixed, inventory level then doesn't display at all
14
+ min and max price for bundle products (gr:hasMinCurrencyValue / gr:hasMinCurrencyValue)
15
+
16
+
17
+
18
  1.2.5
19
 
20
  * minimal fix
app/code/community/Semantium/MSemanticBasic/etc/config.xml CHANGED
@@ -13,7 +13,7 @@
13
  <config>
14
  <modules>
15
  <Semantium_MSemanticBasic>
16
- <version>1.2.5</version>
17
  <depends>
18
  <Mage_Page />
19
  </depends>
@@ -105,7 +105,9 @@
105
  </Semantium_MSemanticBasic>
106
  </modules>
107
  </translate>
108
-
 
 
109
  <acl>
110
  <resources>
111
  <all>
@@ -147,9 +149,17 @@
147
  <model>msemanticbasic/observer::submitSemanticWebData</model>
148
  </run>
149
  </catalog_product_alert>
 
 
 
 
 
 
 
150
  </jobs>
151
  </crontab>
152
 
 
153
  <!-- BEGIN: setting the default values -->
154
  <default>
155
  <semantium>
@@ -227,6 +237,8 @@
227
 
228
  <strongid>
229
  <strongid_type>ean13</strongid_type>
 
 
230
  </strongid>
231
 
232
  <!--
13
  <config>
14
  <modules>
15
  <Semantium_MSemanticBasic>
16
+ <version>1.2.6</version>
17
  <depends>
18
  <Mage_Page />
19
  </depends>
105
  </Semantium_MSemanticBasic>
106
  </modules>
107
  </translate>
108
+ <rewrite>
109
+ <system_config_source_product_attributes>Semantium_MSemanticBasic_Model_System_Config_Source_Product_Attributes</system_config_source_product_attributes>
110
+ </rewrite>
111
  <acl>
112
  <resources>
113
  <all>
149
  <model>msemanticbasic/observer::submitSemanticWebData</model>
150
  </run>
151
  </catalog_product_alert>
152
+ <create_sitemap>
153
+ every minute
154
+ <schedule><cron_expr>* * * * *</cron_expr></schedule>
155
+ <run>
156
+ <model>msemanticbasic/sitemap::createSitemap</model>
157
+ </run>
158
+ </create_sitemap>
159
  </jobs>
160
  </crontab>
161
 
162
+
163
  <!-- BEGIN: setting the default values -->
164
  <default>
165
  <semantium>
237
 
238
  <strongid>
239
  <strongid_type>ean13</strongid_type>
240
+ <strongid_db>0</strongid_db>
241
+ <strongid_dba>0</strongid_dba>
242
  </strongid>
243
 
244
  <!--
app/code/community/Semantium/MSemanticBasic/etc/system.xml CHANGED
@@ -651,6 +651,24 @@ text-shadow: -1px -1px 0px rgba(0,0,0,0.15);font-family: Arial, sans-serif;text-
651
  <show_in_website>1</show_in_website>
652
  <show_in_store>0</show_in_store>
653
  </strongid_type>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
654
  </fields>
655
  </strongid>
656
 
@@ -660,3 +678,7 @@ text-shadow: -1px -1px 0px rgba(0,0,0,0.15);font-family: Arial, sans-serif;text-
660
  </sections>
661
 
662
  </config>
 
 
 
 
651
  <show_in_website>1</show_in_website>
652
  <show_in_store>0</show_in_store>
653
  </strongid_type>
654
+ <strongid_db translate="label">
655
+ <label>Use Existing Attribute</label>
656
+ <frontend_type>select</frontend_type>
657
+ <source_model>adminhtml/system_config_source_yesno</source_model>
658
+ <sort_order>2</sort_order>
659
+ <show_in_default>1</show_in_default>
660
+ <show_in_website>1</show_in_website>
661
+ <show_in_store>0</show_in_store>
662
+ </strongid_db>
663
+ <strongid_dba translate="label">
664
+ <label>Attribute </label>
665
+ <frontend_type>select</frontend_type>
666
+ <source_model>msemanticbasic/system_config_source_product_attributes</source_model>
667
+ <sort_order>10</sort_order>
668
+ <show_in_default>1</show_in_default>
669
+ <show_in_website>1</show_in_website>
670
+ <show_in_store>1</show_in_store>
671
+ </strongid_dba>
672
  </fields>
673
  </strongid>
674
 
678
  </sections>
679
 
680
  </config>
681
+
682
+
683
+
684
+
app/code/community/Semantium/MSemanticBasic/sql/msemanticbasic_setup/mysql4-install-0.9.9.3.2.php CHANGED
@@ -10,10 +10,6 @@
10
  **/
11
  $installer = $this;
12
 
13
- $base_url = $_SERVER['DOCUMENT_ROOT'];
14
- $sitemap_url = "http://gr-notify.appspot.com/submit?uri=".$base_url."sitemap.xml"."&agent=msemantic";
15
- _semantiumMsemanticInstallHttpGet($sitemap_url);
16
-
17
  $installer->installEntities();
18
 
19
 
10
  **/
11
  $installer = $this;
12
 
 
 
 
 
13
  $installer->installEntities();
14
 
15
 
app/code/community/Semantium/MSemanticBasic/sql/msemanticbasic_setup/mysql4-install-1.2.6.php ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * MSemanticBasic Magento Extension
4
+ * @package Semantium_MSemanticBasic
5
+ * @copyright (c) 2010 Semantium, Uwe Stoll <stoll@semantium.de>
6
+ * @author Michael Lambertz <michael@digitallifedesign.net>
7
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
8
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9
+ * You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>
10
+ **/
11
+ $installer = $this;
12
+
13
+ $installer->installEntities();
14
+
15
+
16
+
17
+ // perform HTTP GET on endpoint with given URL
18
+ function _semantiumMsemanticInstallHttpGet($url)
19
+ {
20
+ // file operations are allowed
21
+ if (ini_get('allow_url_fopen') == '1') {
22
+ $str = file_get_contents($url);
23
+ if($str === false) {
24
+ $http_status_code = "";
25
+ for($i=0; $i<count($http_response_header); $i++)
26
+ {
27
+ if(strncasecmp("HTTP", $http_response_header[$i], 4)==0)
28
+ {
29
+ // determine HTTP response code
30
+ $http_status_code = preg_replace("/^.{0,9}([0-9]{3})/i", "$1", $http_response_header[$i]);
31
+ break;
32
+ }
33
+ }
34
+ echo "<p class=\"error\">Submission failed: ".$http_status_code."</p>";
35
+ }
36
+ return $str;
37
+ }
38
+ // file operations are disallowed, try it like curl
39
+ else {
40
+ $url = parse_url($url);
41
+ $port = isset($url['port'])?$url['port']:80;
42
+
43
+ $fp = fsockopen($url['host'], $port);
44
+
45
+ if(!$fp) {
46
+ echo "<p class=\"error\">Cannot retrieve $url</p>";
47
+ return false;
48
+ }
49
+ else {
50
+ // send the necessary headers to get the file
51
+ fwrite($fp, "GET ".$url['path']."?".$url['query']." HTTP/1.0\r\n".
52
+ "Host:". $url['host']."\r\n".
53
+ "Accept: text/html\r\n".
54
+ "User-Agent: GoodRelations Extension for Joomla v2\r\n".
55
+ "Connection: close\r\n\r\n");
56
+
57
+ // retrieve response from server
58
+ $buffer = "";
59
+ $status_code_found = false;
60
+ $is_error = false;
61
+ while($line = fread($fp, 4096))
62
+ {
63
+ $buffer .= $line;
64
+ if(!$status_code_found && ($pos=strpos($line, "HTTP"))>=0) {
65
+ // extract HTTP response code
66
+ $response = explode("\n", substr($line, $pos));
67
+ $http_status_code = preg_replace("/^.{0,9}([0-9]{3})/i", "$1", $response[0]);
68
+ $is_error = !preg_match("/(200|406)/i", $http_status_code); // accepted status codes not resulting in error are 200 and 406
69
+ $status_code_found = true;
70
+ }
71
+ }
72
+ fclose($fp);
73
+
74
+ $pos = strpos($buffer,"\r\n\r\n");
75
+ if($is_error)
76
+ echo "<p class=\"error\">Submission failed: ".$http_status_code."</p>";
77
+ return substr($buffer,$pos);
78
+ }
79
+ }
80
+ }
app/code/community/Semantium/MSemanticBasic/sql/msemanticbasic_setup/mysql4-upgrade-0.9.9.2-0.9.9.3.php CHANGED
@@ -10,10 +10,6 @@
10
  **/
11
  $installer = $this;
12
 
13
- $base_url = $_SERVER['DOCUMENT_ROOT']
14
- $sitemap_url = "http://gr-notify.appspot.com/submit?uri=".$base_url."sitemap.xml"."&agent=msemantic";
15
- _semantiumMsemanticInstallHttpGet($sitemap_url);
16
-
17
  $installer->installEntities();
18
 
19
 
10
  **/
11
  $installer = $this;
12
 
 
 
 
 
13
  $installer->installEntities();
14
 
15
 
app/code/community/Semantium/MSemanticBasic/sql/msemanticbasic_setup/mysql4-upgrade-1.2.6-1.2.6.php ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * MSemanticBasic Magento Extension
4
+ * @package Semantium_MSemanticBasic
5
+ * @copyright (c) 2010 Semantium, Uwe Stoll <stoll@semantium.de>
6
+ * @author Michael Lambertz <michael@digitallifedesign.net>
7
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
8
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9
+ * You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>
10
+ **/
11
+ $installer = $this;
12
+
13
+
14
+ $installer->installEntities();
15
+
16
+
17
+
18
+ // perform HTTP GET on endpoint with given URL
19
+ function _semantiumMsemanticInstallHttpGet($url)
20
+ {
21
+ // file operations are allowed
22
+ if (ini_get('allow_url_fopen') == '1') {
23
+ $str = file_get_contents($url);
24
+ if($str === false) {
25
+ $http_status_code = "";
26
+ for($i=0; $i<count($http_response_header); $i++)
27
+ {
28
+ if(strncasecmp("HTTP", $http_response_header[$i], 4)==0)
29
+ {
30
+ // determine HTTP response code
31
+ $http_status_code = preg_replace("/^.{0,9}([0-9]{3})/i", "$1", $http_response_header[$i]);
32
+ break;
33
+ }
34
+ }
35
+ echo "<p class=\"error\">Submission failed: ".$http_status_code."</p>";
36
+ }
37
+ return $str;
38
+ }
39
+ // file operations are disallowed, try it like curl
40
+ else {
41
+ $url = parse_url($url);
42
+ $port = isset($url['port'])?$url['port']:80;
43
+
44
+ $fp = fsockopen($url['host'], $port);
45
+
46
+ if(!$fp) {
47
+ echo "<p class=\"error\">Cannot retrieve $url</p>";
48
+ return false;
49
+ }
50
+ else {
51
+ // send the necessary headers to get the file
52
+ fwrite($fp, "GET ".$url['path']."?".$url['query']." HTTP/1.0\r\n".
53
+ "Host:". $url['host']."\r\n".
54
+ "Accept: text/html\r\n".
55
+ "User-Agent: GoodRelations Extension for Joomla v2\r\n".
56
+ "Connection: close\r\n\r\n");
57
+
58
+ // retrieve response from server
59
+ $buffer = "";
60
+ $status_code_found = false;
61
+ $is_error = false;
62
+ while($line = fread($fp, 4096))
63
+ {
64
+ $buffer .= $line;
65
+ if(!$status_code_found && ($pos=strpos($line, "HTTP"))>=0) {
66
+ // extract HTTP response code
67
+ $response = explode("\n", substr($line, $pos));
68
+ $http_status_code = preg_replace("/^.{0,9}([0-9]{3})/i", "$1", $response[0]);
69
+ $is_error = !preg_match("/(200|406)/i", $http_status_code); // accepted status codes not resulting in error are 200 and 406
70
+ $status_code_found = true;
71
+ }
72
+ }
73
+ fclose($fp);
74
+
75
+ $pos = strpos($buffer,"\r\n\r\n");
76
+ if($is_error)
77
+ echo "<p class=\"error\">Submission failed: ".$http_status_code."</p>";
78
+ return substr($buffer,$pos);
79
+ }
80
+ }
81
+ }
app/etc/modules/Semantium_MSemanticBasic.xml CHANGED
@@ -16,6 +16,9 @@
16
  <Semantium_MSemanticBasic>
17
  <active>true</active>
18
  <codePool>community</codePool>
 
 
 
19
  </Semantium_MSemanticBasic>
20
 
21
  </modules>
16
  <Semantium_MSemanticBasic>
17
  <active>true</active>
18
  <codePool>community</codePool>
19
+ <depends>
20
+ <Mage_Adminhtml />
21
+ </depends>
22
  </Semantium_MSemanticBasic>
23
 
24
  </modules>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Semantium_MSemanticBasic</name>
4
- <version>1.2.5</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.gnu.org/licenses/lgpl.html">GNU/LGPL</license>
7
  <channel>community</channel>
@@ -18,9 +18,9 @@ The following ressources emphasize the positive outcome of using GoodRelations:
18
  * How To Get Ranked Without Resorting to Outdated SEO Tactics [http://www.solutions-answers-results.com.au/index.php/Ways-to-Improve-Your-Website/How-To-Get-Ranked-Without-Resorting-to-Outdated-SEO-Tactics.html]</description>
19
  <notes>Magento 1.3: if you use another language than english or german, than the "Strong Identifier" attribute is named "EAN Code" in the backend. But it also works well with GTIN-8 or GTIN-14 (configurable in the global MSemantic configuration). You can rename the label of this attribute manually in the table eav_attribute (attribute_code is gr_ean).</notes>
20
  <authors><author><name>Uwe Stoll (Semantium)</name><user>auto-converted</user><email>stoll@semantium.de</email></author></authors>
21
- <date>2011-11-24</date>
22
- <time>08:06:48</time>
23
- <contents><target name="mageetc"><dir name="modules"><file name="Semantium_MSemanticBasic.xml" hash="d273f2ff72e94efcc0f4566108c6cfdf"/></dir></target><target name="magecommunity"><dir name="Semantium"><dir name="MSemanticBasic"><dir name="Block"><file name="Business.php" hash="164ff85e939eac555bc06584c733eb2d"/><file name="Datadump.php" hash="66ff7727bfdc279382d4f55ffa6d5891"/><file name="Product.php" hash="3d55b763293ca2b96201beceb296effd"/><file name="Thanks.php" hash="5039b62205679115ebef99b34192df0a"/></dir><dir name="controllers"><file name="IndexController.php" hash="2d014e2316ba23adb1be2e0821a126ea"/></dir><dir name="etc"><file name="config.xml" hash="9c5ec086117051aaf704725387c07e5e"/><file name="system.xml" hash="7b2d2449067b9bdc8e427a0a13d27177"/></dir><dir name="Helper"><file name="AbstractFormat.php" hash="5862fe7dbff236d362d854aa8243d02b"/><file name="Data.php" hash="fc2043acb2695b5304e9b762831cd208"/><file name="Div.php" hash="eec533dee2be1f0469a15fefb5d06330"/><file name="Rdfaformat.php" hash="f2d8372cc3a1cd347accea583c3fcd44"/><file name="Rdfformat.php" hash="d7718fdca1c77e92668c6a3a3f76bdbd"/><file name="Sysinfo.php" hash="3edac7805c663bd0d82ba85714a39dfb"/></dir><dir name="Model"><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><file name="Setup.php" hash="a39d88f13dae76082a009743e368aa3f"/></dir></dir></dir><dir name="Source"><file name="Strongid.php" hash="13d8833eee26a5f8b870b65f44b4ce0b"/><file name="Valid.php" hash="650c03155a9a8797514fb7e596929d15"/></dir><file name="Business.php" hash="678c1a77374b33707bacb5ce57c6afc9"/><file name="GoodRelations.php" hash="90b093d6fb650a7418e41b9f88f8a2f5"/><file name="Observer.php" hash="d7cfaac82d1dd801e538cc707ef0aca1"/><file name="RDFs.php" hash="f7f73eb5d812195156f5f7c2143f1636"/><file name="VCard.php" hash="a697c5fd451fdf62f8317aae70b5c84c"/></dir><dir name="sql"><dir name="msemanticbasic_setup"><file name="mysql4-install-0.8.0.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.8.1.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.8.2.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.8.3.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.8.4.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.8.5.php" hash="810144e6e3eff6073895b501ecee97f2"/><file name="mysql4-install-0.8.6.php" hash="810144e6e3eff6073895b501ecee97f2"/><file name="mysql4-install-0.9.0.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.1.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.2.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.4.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.5.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.6.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.7.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.8.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.9.1.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.9.2.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.9.3.1 copy 1.php" hash="e5ef3335b06dbb07829a63dd17db3c6c"/><file name="mysql4-install-0.9.9.3.1.php" hash="e5ef3335b06dbb07829a63dd17db3c6c"/><file name="mysql4-install-0.9.9.3.2.php" hash="8cf18e840f4723aa8c12f194a6d38bb6"/><file name="mysql4-install-0.9.9.3.3.php" hash="d2210860f97c46faf1b1c758f1c3530f"/><file name="mysql4-install-0.9.9.3.4.php" hash="745c332d15adbf5d5c92fab04e993f1b"/><file name="mysql4-install-0.9.9.3.5.php" hash="d6eda2c6f7495fd6397c7519c0f06830"/><file name="mysql4-install-0.9.9.3.6.php" hash="694b9cfce33213193099a51735efe79e"/><file name="mysql4-install-0.9.9.3.7.php" hash="67d9edfb0a91a4ad863dfeb95101cdbe"/><file name="mysql4-install-0.9.9.3.8.php" hash="dc41a32c350b609eeb8010e825ab6b0e"/><file name="mysql4-install-0.9.9.3.9.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-0.9.9.3.php" hash="d6a89aab9e44aa47478744ad2c9ae6c4"/><file name="mysql4-install-0.9.9.4.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-0.9.9.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-1.1.0.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-1.2.1.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-1.2.2.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-1.2.3.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-1.2.4.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-1.2.5.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.8.1-0.8.2.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.8.2-0.8.3.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.8.3-0.8.4.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.8.4-0.9.0.php" hash="810144e6e3eff6073895b501ecee97f2"/><file name="mysql4-upgrade-0.9.0-0.9.1.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.1-0.9.2.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.2-0.9.4.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.4-0.9.5.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.5-0.9.6.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.6-0.9.7.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.7-0.9.8.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.8-0.9.9.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.9-0.9.9.1.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.9.1-0.9.9.2.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.9.2-0.9.9.3.php" hash="75a32209d51c96a04d9c035b32be3e9c"/><file name="mysql4-upgrade-0.9.9.3-0.9.9.3.1.php" hash="c5a452e2646b50fb576cfe305f659434"/><file name="mysql4-upgrade-0.9.9.3.1-0.9.9.3.2.php" hash="6dc3aa90d38ec7ad92d804094ef6f4ab"/><file name="mysql4-upgrade-0.9.9.3.2-0.9.9.3.3.php" hash="e123ae7f0c214e4044e5dac17f3be7d8"/><file name="mysql4-upgrade-0.9.9.3.3-0.9.9.3.4.php" hash="745c332d15adbf5d5c92fab04e993f1b"/><file name="mysql4-upgrade-0.9.9.3.4-0.9.9.3.5.php" hash="bddd63eedc4e81ecd25c63995782891d"/><file name="mysql4-upgrade-0.9.9.3.5-0.9.9.3.6.php" hash="6b057032af23dd1937a0314593c0e457"/><file name="mysql4-upgrade-0.9.9.3.6-0.9.9.3.7.php" hash="6b057032af23dd1937a0314593c0e457"/><file name="mysql4-upgrade-0.9.9.3.7-0.9.9.3.8.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="mysql4-upgrade-0.9.9.3.9-0.9.9.4.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="mysql4-upgrade-1.2.1.1-1.2.2.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="mysql4-upgrade-1.2.1.2-1.2.3.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="mysql4-upgrade-1.2.3-1.2.4.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="mysql4-upgrade-1.2.4-1.2.5.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="script.sh" hash="0168886ab4f6a6c2658fada0f5ff3727"/></dir></dir><file name="changelog.txt" hash="18fdf85a8c846ce05b4b593cb3ad8d7e"/></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Semantium_MSemanticBasic.csv" hash="a4bfc26d36e33d5c9ed00da83fa8f99c"/></dir><dir name="en_GB"><file name="Semantium_MSemanticBasic.csv" hash="a4bfc26d36e33d5c9ed00da83fa8f99c"/></dir><dir name="en_US"><file name="Semantium_MSemanticBasic.csv" hash="a4bfc26d36e33d5c9ed00da83fa8f99c"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="msemanticbasic.xml" hash="47f8ae8742ea9cb25be73e711d6dfa64"/></dir><dir name="template"><dir name="semantium"><file name="dump.phtml" hash="26ff96865f95e91ee5d5596a30fea112"/></dir></dir></dir></dir></dir></target></contents>
24
  <compatible/>
25
  <dependencies/>
26
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Semantium_MSemanticBasic</name>
4
+ <version>1.2.6</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.gnu.org/licenses/lgpl.html">GNU/LGPL</license>
7
  <channel>community</channel>
18
  * How To Get Ranked Without Resorting to Outdated SEO Tactics [http://www.solutions-answers-results.com.au/index.php/Ways-to-Improve-Your-Website/How-To-Get-Ranked-Without-Resorting-to-Outdated-SEO-Tactics.html]</description>
19
  <notes>Magento 1.3: if you use another language than english or german, than the "Strong Identifier" attribute is named "EAN Code" in the backend. But it also works well with GTIN-8 or GTIN-14 (configurable in the global MSemantic configuration). You can rename the label of this attribute manually in the table eav_attribute (attribute_code is gr_ean).</notes>
20
  <authors><author><name>Uwe Stoll (Semantium)</name><user>auto-converted</user><email>stoll@semantium.de</email></author></authors>
21
+ <date>2012-03-01</date>
22
+ <time>12:52:10</time>
23
+ <contents><target name="mageetc"><dir name="modules"><file name="Semantium_MSemanticBasic.xml" hash="3eb345a90c04b8804822c9636b7d7555"/></dir></target><target name="magecommunity"><dir name="Semantium"><dir name="MSemanticBasic"><dir name="Block"><file name="Business.php" hash="164ff85e939eac555bc06584c733eb2d"/><file name="Datadump.php" hash="66ff7727bfdc279382d4f55ffa6d5891"/><file name="Product.php" hash="3d55b763293ca2b96201beceb296effd"/><file name="Thanks.php" hash="5039b62205679115ebef99b34192df0a"/></dir><dir name="controllers"><file name="IndexController.php" hash="2d014e2316ba23adb1be2e0821a126ea"/></dir><dir name="etc"><file name="config.xml" hash="2f404f017ce2cd7321699d6218a3c083"/><file name="system.xml" hash="e708829b17a24c7bc68d6162fcec5dd0"/></dir><dir name="Helper"><file name="AbstractFormat.php" hash="953f97f76c3ed5c2bb630435dfb4f350"/><file name="Data.php" hash="fc2043acb2695b5304e9b762831cd208"/><file name="Div.php" hash="eec533dee2be1f0469a15fefb5d06330"/><file name="Rdfaformat.php" hash="f2d8372cc3a1cd347accea583c3fcd44"/><file name="Rdfformat.php" hash="d7718fdca1c77e92668c6a3a3f76bdbd"/><file name="Sysinfo.php" hash="3edac7805c663bd0d82ba85714a39dfb"/></dir><dir name="Model"><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><file name="Setup.php" hash="a39d88f13dae76082a009743e368aa3f"/></dir></dir></dir><dir name="Source"><file name="Strongid.php" hash="13d8833eee26a5f8b870b65f44b4ce0b"/><file name="Valid.php" hash="650c03155a9a8797514fb7e596929d15"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Product"><file name="Attributes.php" hash="b6f58c1b5737686f7b47796e12e1084c"/></dir></dir></dir></dir><file name="Business.php" hash="678c1a77374b33707bacb5ce57c6afc9"/><file name="GoodRelations.php" hash="2b3be73928f9c301fbd5dacecc99cb94"/><file name="Observer.php" hash="163c5066e9cd1ebe64aca0be2fd99c56"/><file name="RDFs.php" hash="f7f73eb5d812195156f5f7c2143f1636"/><file name="Sitemap.php" hash="6ffe4140e36404b3db6c291a3c576167"/><file name="VCard.php" hash="a697c5fd451fdf62f8317aae70b5c84c"/></dir><dir name="sql"><dir name="msemanticbasic_setup"><file name="mysql4-install-0.8.0.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.8.1.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.8.2.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.8.3.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.8.4.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.8.5.php" hash="810144e6e3eff6073895b501ecee97f2"/><file name="mysql4-install-0.8.6.php" hash="810144e6e3eff6073895b501ecee97f2"/><file name="mysql4-install-0.9.0.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.1.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.2.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.4.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.5.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.6.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.7.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.8.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.9.1.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.9.2.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-0.9.9.3.1 copy 1.php" hash="e5ef3335b06dbb07829a63dd17db3c6c"/><file name="mysql4-install-0.9.9.3.1.php" hash="e5ef3335b06dbb07829a63dd17db3c6c"/><file name="mysql4-install-0.9.9.3.2.php" hash="ae7bacad38ef06f8f12e61f943bf17f7"/><file name="mysql4-install-0.9.9.3.3.php" hash="d2210860f97c46faf1b1c758f1c3530f"/><file name="mysql4-install-0.9.9.3.4.php" hash="745c332d15adbf5d5c92fab04e993f1b"/><file name="mysql4-install-0.9.9.3.5.php" hash="d6eda2c6f7495fd6397c7519c0f06830"/><file name="mysql4-install-0.9.9.3.6.php" hash="694b9cfce33213193099a51735efe79e"/><file name="mysql4-install-0.9.9.3.7.php" hash="67d9edfb0a91a4ad863dfeb95101cdbe"/><file name="mysql4-install-0.9.9.3.8.php" hash="dc41a32c350b609eeb8010e825ab6b0e"/><file name="mysql4-install-0.9.9.3.9.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-0.9.9.3.php" hash="d6a89aab9e44aa47478744ad2c9ae6c4"/><file name="mysql4-install-0.9.9.4.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-0.9.9.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-install-1.1.0.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-1.2.1.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-1.2.2.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-1.2.3.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-1.2.4.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-1.2.5.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-install-1.2.6.php" hash="9d4c7920ded55142506596e87fac901f"/><file name="mysql4-upgrade-0.8.0-0.8.1.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.8.1-0.8.2.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.8.2-0.8.3.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.8.3-0.8.4.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.8.4-0.9.0.php" hash="810144e6e3eff6073895b501ecee97f2"/><file name="mysql4-upgrade-0.9.0-0.9.1.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.1-0.9.2.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.2-0.9.4.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.4-0.9.5.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.5-0.9.6.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.6-0.9.7.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.7-0.9.8.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.8-0.9.9.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.9-0.9.9.1.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.9.1-0.9.9.2.php" hash="24bb680b77c72bd957d8e941e1c02c07"/><file name="mysql4-upgrade-0.9.9.2-0.9.9.3.php" hash="6a75f3ece98e56356dca07548d69d29b"/><file name="mysql4-upgrade-0.9.9.3-0.9.9.3.1.php" hash="c5a452e2646b50fb576cfe305f659434"/><file name="mysql4-upgrade-0.9.9.3.1-0.9.9.3.2.php" hash="6dc3aa90d38ec7ad92d804094ef6f4ab"/><file name="mysql4-upgrade-0.9.9.3.2-0.9.9.3.3.php" hash="e123ae7f0c214e4044e5dac17f3be7d8"/><file name="mysql4-upgrade-0.9.9.3.3-0.9.9.3.4.php" hash="745c332d15adbf5d5c92fab04e993f1b"/><file name="mysql4-upgrade-0.9.9.3.4-0.9.9.3.5.php" hash="bddd63eedc4e81ecd25c63995782891d"/><file name="mysql4-upgrade-0.9.9.3.5-0.9.9.3.6.php" hash="6b057032af23dd1937a0314593c0e457"/><file name="mysql4-upgrade-0.9.9.3.6-0.9.9.3.7.php" hash="6b057032af23dd1937a0314593c0e457"/><file name="mysql4-upgrade-0.9.9.3.7-0.9.9.3.8.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="mysql4-upgrade-0.9.9.3.9-0.9.9.4.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="mysql4-upgrade-1.2.1.1-1.2.2.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="mysql4-upgrade-1.2.1.2-1.2.3.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="mysql4-upgrade-1.2.3-1.2.4.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="mysql4-upgrade-1.2.4-1.2.5.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="mysql4-upgrade-1.2.6-1.2.6.php" hash="b93259ef17eb9ea97b9d153001eb5f57"/><file name="script.sh" hash="0168886ab4f6a6c2658fada0f5ff3727"/></dir></dir><file name="changelog.txt" hash="cd2eacd3248b9ed66e2e864bc65064d5"/></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Semantium_MSemanticBasic.csv" hash="a4bfc26d36e33d5c9ed00da83fa8f99c"/></dir><dir name="en_GB"><file name="Semantium_MSemanticBasic.csv" hash="a4bfc26d36e33d5c9ed00da83fa8f99c"/></dir><dir name="en_US"><file name="Semantium_MSemanticBasic.csv" hash="a4bfc26d36e33d5c9ed00da83fa8f99c"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="msemanticbasic.xml" hash="47f8ae8742ea9cb25be73e711d6dfa64"/></dir><dir name="template"><dir name="semantium"><file name="dump.phtml" hash="26ff96865f95e91ee5d5596a30fea112"/></dir></dir></dir></dir></dir></target></contents>
24
  <compatible/>
25
  <dependencies/>
26
  </package>