ownerDocument; $domElement->appendChild($domOwner->createCDATASection("{$value}")); } } public function addChildWithCData($name = '', $value = '') { $newChild = parent::addChild($name); if ($value) $this->addCDataToNode($newChild, "{$value}"); return $newChild; } public function addCData($value = '') { $this->addCDataToNode($this, "{$value}"); } } $mdb = new medoo([ 'database_type' => 'mysql', 'database_name' => 'host117523_temp', 'server' => 'localhost', 'username' => 'host117523_temp', 'password' => 'XAGwZ3XRa9fgtM63um7v', 'charset' => 'utf8' ]); $xml_file = 'dekodum-sk.xml'; // Jeśli plik XML już istnieje, wczytujemy go, inaczej tworzymy nowy if ( file_exists( $xml_file ) ) { $xml_content = file_get_contents( $xml_file ); $xml = new SimpleXMLElementExtended( $xml_content ); } else { $xml = new SimpleXMLElementExtended( '' ); $xml -> addChild( 'title', 'Dekodum' ); $xml -> addChild( 'updated', date( 'Y-m-d' ) ); } if ( $product = $mdb -> get( 'dekodum_xml', '*', [ 'AND' => [ 'updated_sk' => 1, 'xml' => 0 ] ] ) ) { $productXml = $xml->addChild('item'); $productXml -> addChild( 'g:id', $product['product_id'], 'http://base.google.com/ns/1.0' ); $productXml -> addChild( 'title', $product['title'] ); $productXml -> addChild( 'link', $product['link'] ); $productXml -> addChild( 'g:image_link', $product['image_link'], 'http://base.google.com/ns/1.0' ); $productXml -> addChild( 'g:mpn', $product['mpn'], 'http://base.google.com/ns/1.0' ); $productXml -> addChild( 'g:brand', $product['brand'], 'http://base.google.com/ns/1.0' ); $productXml -> addChild( 'g:google_product_category', $product['google_product_category'], 'http://base.google.com/ns/1.0' ); $productXml -> addChild( 'g:item_group_id', $product['item_group_id'], 'http://base.google.com/ns/1.0' ); $mdb -> update( 'dekodum_xml', [ 'xml' => 1 ], [ 'product_id' => $product['product_id'] ] ); if ( $xml -> asXML( $xml_file ) ) { echo '

Wygenerowałem xml: https://cdn.projectpro.pl/dekodum.cz/' . $xml_file . '

'; } if ( $mdb -> count( 'dekodum_xml', [ 'AND' => [ 'updated_sk' => 1, 'xml' => 0 ] ] ) ) { echo '

Pozostało produktów do wygenerowania: ' . $mdb -> count( 'dekodum_xml', [ 'AND' => [ 'updated_sk' => 1, 'xml' => 0 ] ] ) . '

'; // reload page after .1 second echo ''; } else { echo '

Wygenerowałem wszystkie produkty

'; } } else { echo '

Brak produktów do wygenerowania

'; }