WordPress.org

Plugin Directory

Changeset 1350785


Ignore:
Timestamp:
02/15/16 08:25:15 (15 months ago)
Author:
mdzimiera
Message:

Wersja 1.4.7

Location:
helion-widgets-pro
Files:
6 edited
20 copied

Legend:

Unmodified
Added
Removed
  • helion-widgets-pro/tags/1.4.7/helion-widgets.php

    r1297211 r1350785  
    44    Plugin URI: http://wordpress.org/extend/plugins/helion-widgets-pro/ 
    55    Description: Widgety i Księgarnia dla uczestników Programu Partnerskiego GW Helion. 
    6     Version: 1.4.6   
     6    Version: 1.4.7   
    77    Author: Paweł Pela, Marek Dzimiera 
    88    License: GPL2 
  • helion-widgets-pro/tags/1.4.7/lib/api.php

    r1294396 r1350785  
    150150} 
    151151 
     152function helion_xml_unpack($dest){ 
     153    $tmp = explode('/', $dest); 
     154    $bookstore = preg_replace('/\.zip$/i', '', $tmp[count($tmp)-1]); 
     155    $destination = ABSPATH . "/wp-content/helion-cache/xml/"; 
     156    $zip = new ZipArchive; 
     157    $res = $zip->open($dest); 
     158    if ($res === TRUE) { 
     159        $zip->extractTo($destination); 
     160        $zip->close(); 
     161        \rename($destination."produkty-".$bookstore, $destination.$bookstore);   
     162    } else { 
     163    } 
     164} 
     165 
    152166function helion_download_file($src, $dest) { 
     167    //return true; 
    153168    switch(helion_detect_connection_method()) { 
    154169        case 'fopen': 
    155170            @copy($src, $dest); 
     171                        // unpack if zip file 
     172                        if(preg_match('/\.zip$/i', $src)){ 
     173                            helion_xml_unpack($dest); 
     174                        } 
    156175            return true; 
    157176            break; 
     
    171190                                     
    172191                                }else{ 
     192                                     
     193                                    // unpack if zip file 
     194                                    if(preg_match('/\.zip$/i', $src)){ 
     195                                        helion_xml_unpack($dest); 
     196                                    } 
    173197                                     
    174198                                } 
  • helion-widgets-pro/tags/1.4.7/lib/lib.php

    r409151 r1350785  
    99include_once("xml.php"); 
    1010include_once("book_select.php"); 
     11include_once("wp-multiple-insert.php"); 
    1112 
    1213?> 
  • helion-widgets-pro/tags/1.4.7/lib/xml.php

    r1294396 r1350785  
    77        $destination = ABSPATH . "/wp-content/helion-cache/xml/bestsellers_" . $bookstore . ".xml"; 
    88    } else { 
    9         //$source = "http://" . $bookstore . ".pl/plugins/xml/lista2.xml"; 
    10         $source = "http://" . $bookstore . ".pl/xml/produkty-" . $bookstore . ".xml"; 
    11         $destination = ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml"; 
     9             
     10            if(class_exists('ZipArchive')){ 
     11                $source = "http://" . $bookstore . ".pl/xml/produkty-" . $bookstore . ".xml.zip"; 
     12        $destination = ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml.zip"; 
     13            }else{ 
     14                $source = "http://" . $bookstore . ".pl/plugins/xml/lista2.xml"; 
     15                $destination = ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml"; 
     16            } 
    1217    } 
    1318     
     
    3035    } else { 
    3136            if(file_exists(ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml")){ 
     37                if(file_exists(ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml.zip")){ 
     38                    unlink(ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml.zip"); 
     39                } 
    3240        return unlink(ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml"); 
    3341            }else{ 
     
    7583function helion_xml_import($bookstore, $bestseller = false) { 
    7684    global $wpdb; 
    77      
     85         
     86        $from = array('á', 'é', 'ñ', 'ō', 'ğ', 'Ö', 'ø', '¡', '–', '’', 'ū', 
     87            'ö', 'Å', 'å', 'í', 'ĕ', 'Æ',  
     88            '„', '„', '”', '”', '–'); 
     89        $to = array('á', 'é', 'ñ', 'ŏ', 'ğ',  
     90            'Ö', 'ø', '¡', '-', '\'', 'Ū', 'Æ', 
     91            'Ö', 'Ä', 'å', 'í', 'ĕ', 
     92            '"', '"', '"', '"', '-'); 
     93         
    7894    if($bestseller) { 
    7995            $filename = ABSPATH . "/wp-content/helion-cache/xml/bestsellers_" . $bookstore . ".xml"; 
     
    8298                    if(filesize($filename) > 0){ 
    8399                        if(($xml = simplexml_load_file($filename)) !== false){     
     100                            $k = array(); 
    84101                            foreach($xml as $ksiazka) { 
    85                                 $k['ident'] = strtolower(($bookstore == "videopoint") ? $ksiazka->attributes()->ID . "_w" : $ksiazka->attributes()->ID); 
    86                                 $k['bookstore'] = $bookstore; 
    87                                 $wpdb->insert($wpdb->prefix . "helion_bestsellers", $k); 
     102                                $k[] = array( 
     103                                    'ident' => strtolower(($bookstore == "videopoint") ? $ksiazka->attributes()->ID . "_w" : $ksiazka->attributes()->ID), 
     104                                    'bookstore' => $bookstore 
     105                                ); 
     106                                //$wpdb->insert($wpdb->prefix . "helion_bestsellers", $k); 
    88107                            } 
     108                            wp_insert_rows($k, $wpdb->prefix . "helion_bestsellers"); 
    89109                        }else{ 
    90110                            // wrong xml structure 
     
    109129                    if(filesize($filename) > 0){ 
    110130                        if(($xml = simplexml_load_file($filename)) !== false){ 
     131                            $books = array(); 
     132                            $counter = 0; 
    111133                            foreach($xml->lista->ksiazka as $ksiazka) { 
     134                                 
     135                                if(!preg_match("/\d{9,13}/", str_replace(array("-", "x", "X"), "", $ksiazka->isbn))) 
     136                                    continue; 
     137                                 
     138                                    $counter++; 
    112139                                    $k['ident'] = strtolower($ksiazka->ident); 
    113140                                    $k['isbn'] = $ksiazka->isbn; 
     141                                    $k['tytul'] = ""; 
     142                                    $k['tytul_orig'] = ""; 
    114143                                    foreach($ksiazka->tytul as $tytul) { 
    115144                                            if($tytul->attributes()->language == "polski") { 
     
    120149                                    } 
    121150                                    $k['link'] = $ksiazka->link; 
    122                                     $k['autor'] = $ksiazka->autor; 
    123                                     $k['tlumacz'] = $ksiazka->tlumacz; 
     151                                    $k['autor'] = htmlspecialchars(str_replace($from, $to, $ksiazka->autor));  
     152                                    $k['tlumacz'] = str_replace($from, $to, $ksiazka->tlumacz);  
    124153                                    $k['cena'] = $ksiazka->cena; 
    125154                                    $k['cenadetaliczna'] = $ksiazka->cenadetaliczna; 
     
    143172                                    $k['serietematyczne'] = $ksiazka->serietematyczne->asXML(); 
    144173                                    $k['opis'] = $ksiazka->opis; 
    145  
    146                                     $wpdb->insert($wpdb->prefix . "helion_books_" . $bookstore, $k); 
     174                                    $books[] = $k; 
     175                                    if(count($books) == 500){ 
     176                                        if(wp_insert_rows($books, $wpdb->prefix . "helion_books_" . $bookstore)){ 
     177                                            //return true; 
     178                                        }else{ 
     179                                            return false; 
     180                                        } 
     181                                        $counter = 0; 
     182                                        $books = array(); 
     183                                    } 
     184                                     
     185                                    //$wpdb->insert($wpdb->prefix . "helion_books_" . $bookstore, $k); 
    147186                            } 
     187                            if(is_array($books) && !empty($books)){ 
     188                             
     189                                if(wp_insert_rows($books, $wpdb->prefix . "helion_books_" . $bookstore)){ 
     190                                    //return true; 
     191                                }else{ 
     192                                    return false; 
     193                                } 
     194                            } 
     195                             
     196                             
    148197                        }else{ 
    149198                            return false; 
  • helion-widgets-pro/tags/1.4.7/readme.txt

    r1297211 r1350785  
    44Tags: helion, sensus, onepress, septem, ebookpoint, bezdroza, videopoint, program partnerski, księgarnia 
    55Requires at least: 3.1 
    6 Tested up to: 4.3.1 
    7 Stable tag: 1.4.6 
     6Tested up to: 4.4.2 
     7Stable tag: 1.4.7 
    88 
    99Zainstaluj na swoim blogu widgety z książkami, umieszczaj informacje o książkach we wpisach, otwórz własną księgarnię i zarabiaj z GW Helion! 
     
    268268* Walidacja identyfikatora partnera 
    269269 
     270= 1.4.7 = 
     271* Możliwość ściągania spakowanego pliku xml 
     272* Wstawianie wielu rekordów jednocześnie podczas importu z pliku xml  
     273* Import pozycji z poprawnym isbn'em 
     274 
    270275== Upgrade Notice == 
    271276 
     
    436441= 1.4.6 = 
    437442Walidacja identyfikatora partnera 
     443 
     444= 1.4.7 = 
     445Możliwość ściągania spakowanego pliku xml 
     446Wstawianie wielu rekordów jednocześnie podczas importu z pliku xml  
     447Import pozycji z poprawnym isbn'em 
  • helion-widgets-pro/trunk/helion-widgets.php

    r1297211 r1350785  
    44    Plugin URI: http://wordpress.org/extend/plugins/helion-widgets-pro/ 
    55    Description: Widgety i Księgarnia dla uczestników Programu Partnerskiego GW Helion. 
    6     Version: 1.4.6   
     6    Version: 1.4.7   
    77    Author: Paweł Pela, Marek Dzimiera 
    88    License: GPL2 
  • helion-widgets-pro/trunk/lib/api.php

    r1294396 r1350785  
    150150} 
    151151 
     152function helion_xml_unpack($dest){ 
     153    $tmp = explode('/', $dest); 
     154    $bookstore = preg_replace('/\.zip$/i', '', $tmp[count($tmp)-1]); 
     155    $destination = ABSPATH . "/wp-content/helion-cache/xml/"; 
     156    $zip = new ZipArchive; 
     157    $res = $zip->open($dest); 
     158    if ($res === TRUE) { 
     159        $zip->extractTo($destination); 
     160        $zip->close(); 
     161        \rename($destination."produkty-".$bookstore, $destination.$bookstore);   
     162    } else { 
     163    } 
     164} 
     165 
    152166function helion_download_file($src, $dest) { 
     167    //return true; 
    153168    switch(helion_detect_connection_method()) { 
    154169        case 'fopen': 
    155170            @copy($src, $dest); 
     171                        // unpack if zip file 
     172                        if(preg_match('/\.zip$/i', $src)){ 
     173                            helion_xml_unpack($dest); 
     174                        } 
    156175            return true; 
    157176            break; 
     
    171190                                     
    172191                                }else{ 
     192                                     
     193                                    // unpack if zip file 
     194                                    if(preg_match('/\.zip$/i', $src)){ 
     195                                        helion_xml_unpack($dest); 
     196                                    } 
    173197                                     
    174198                                } 
  • helion-widgets-pro/trunk/lib/lib.php

    r409151 r1350785  
    99include_once("xml.php"); 
    1010include_once("book_select.php"); 
     11include_once("wp-multiple-insert.php"); 
    1112 
    1213?> 
  • helion-widgets-pro/trunk/lib/xml.php

    r1294396 r1350785  
    77        $destination = ABSPATH . "/wp-content/helion-cache/xml/bestsellers_" . $bookstore . ".xml"; 
    88    } else { 
    9         //$source = "http://" . $bookstore . ".pl/plugins/xml/lista2.xml"; 
    10         $source = "http://" . $bookstore . ".pl/xml/produkty-" . $bookstore . ".xml"; 
    11         $destination = ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml"; 
     9             
     10            if(class_exists('ZipArchive')){ 
     11                $source = "http://" . $bookstore . ".pl/xml/produkty-" . $bookstore . ".xml.zip"; 
     12        $destination = ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml.zip"; 
     13            }else{ 
     14                $source = "http://" . $bookstore . ".pl/plugins/xml/lista2.xml"; 
     15                $destination = ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml"; 
     16            } 
    1217    } 
    1318     
     
    3035    } else { 
    3136            if(file_exists(ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml")){ 
     37                if(file_exists(ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml.zip")){ 
     38                    unlink(ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml.zip"); 
     39                } 
    3240        return unlink(ABSPATH . "/wp-content/helion-cache/xml/" . $bookstore . ".xml"); 
    3341            }else{ 
     
    7583function helion_xml_import($bookstore, $bestseller = false) { 
    7684    global $wpdb; 
    77      
     85         
     86        $from = array('á', 'é', 'ñ', 'ō', 'ğ', 'Ö', 'ø', '¡', '–', '’', 'ū', 
     87            'ö', 'Å', 'å', 'í', 'ĕ', 'Æ',  
     88            '„', '„', '”', '”', '–'); 
     89        $to = array('á', 'é', 'ñ', 'ŏ', 'ğ',  
     90            'Ö', 'ø', '¡', '-', '\'', 'Ū', 'Æ', 
     91            'Ö', 'Ä', 'å', 'í', 'ĕ', 
     92            '"', '"', '"', '"', '-'); 
     93         
    7894    if($bestseller) { 
    7995            $filename = ABSPATH . "/wp-content/helion-cache/xml/bestsellers_" . $bookstore . ".xml"; 
     
    8298                    if(filesize($filename) > 0){ 
    8399                        if(($xml = simplexml_load_file($filename)) !== false){     
     100                            $k = array(); 
    84101                            foreach($xml as $ksiazka) { 
    85                                 $k['ident'] = strtolower(($bookstore == "videopoint") ? $ksiazka->attributes()->ID . "_w" : $ksiazka->attributes()->ID); 
    86                                 $k['bookstore'] = $bookstore; 
    87                                 $wpdb->insert($wpdb->prefix . "helion_bestsellers", $k); 
     102                                $k[] = array( 
     103                                    'ident' => strtolower(($bookstore == "videopoint") ? $ksiazka->attributes()->ID . "_w" : $ksiazka->attributes()->ID), 
     104                                    'bookstore' => $bookstore 
     105                                ); 
     106                                //$wpdb->insert($wpdb->prefix . "helion_bestsellers", $k); 
    88107                            } 
     108                            wp_insert_rows($k, $wpdb->prefix . "helion_bestsellers"); 
    89109                        }else{ 
    90110                            // wrong xml structure 
     
    109129                    if(filesize($filename) > 0){ 
    110130                        if(($xml = simplexml_load_file($filename)) !== false){ 
     131                            $books = array(); 
     132                            $counter = 0; 
    111133                            foreach($xml->lista->ksiazka as $ksiazka) { 
     134                                 
     135                                if(!preg_match("/\d{9,13}/", str_replace(array("-", "x", "X"), "", $ksiazka->isbn))) 
     136                                    continue; 
     137                                 
     138                                    $counter++; 
    112139                                    $k['ident'] = strtolower($ksiazka->ident); 
    113140                                    $k['isbn'] = $ksiazka->isbn; 
     141                                    $k['tytul'] = ""; 
     142                                    $k['tytul_orig'] = ""; 
    114143                                    foreach($ksiazka->tytul as $tytul) { 
    115144                                            if($tytul->attributes()->language == "polski") { 
     
    120149                                    } 
    121150                                    $k['link'] = $ksiazka->link; 
    122                                     $k['autor'] = $ksiazka->autor; 
    123                                     $k['tlumacz'] = $ksiazka->tlumacz; 
     151                                    $k['autor'] = htmlspecialchars(str_replace($from, $to, $ksiazka->autor));  
     152                                    $k['tlumacz'] = str_replace($from, $to, $ksiazka->tlumacz);  
    124153                                    $k['cena'] = $ksiazka->cena; 
    125154                                    $k['cenadetaliczna'] = $ksiazka->cenadetaliczna; 
     
    143172                                    $k['serietematyczne'] = $ksiazka->serietematyczne->asXML(); 
    144173                                    $k['opis'] = $ksiazka->opis; 
    145  
    146                                     $wpdb->insert($wpdb->prefix . "helion_books_" . $bookstore, $k); 
     174                                    $books[] = $k; 
     175                                    if(count($books) == 500){ 
     176                                        if(wp_insert_rows($books, $wpdb->prefix . "helion_books_" . $bookstore)){ 
     177                                            //return true; 
     178                                        }else{ 
     179                                            return false; 
     180                                        } 
     181                                        $counter = 0; 
     182                                        $books = array(); 
     183                                    } 
     184                                     
     185                                    //$wpdb->insert($wpdb->prefix . "helion_books_" . $bookstore, $k); 
    147186                            } 
     187                            if(is_array($books) && !empty($books)){ 
     188                             
     189                                if(wp_insert_rows($books, $wpdb->prefix . "helion_books_" . $bookstore)){ 
     190                                    //return true; 
     191                                }else{ 
     192                                    return false; 
     193                                } 
     194                            } 
     195                             
     196                             
    148197                        }else{ 
    149198                            return false; 
  • helion-widgets-pro/trunk/readme.txt

    r1297211 r1350785  
    44Tags: helion, sensus, onepress, septem, ebookpoint, bezdroza, videopoint, program partnerski, księgarnia 
    55Requires at least: 3.1 
    6 Tested up to: 4.3.1 
    7 Stable tag: 1.4.6 
     6Tested up to: 4.4.2 
     7Stable tag: 1.4.7 
    88 
    99Zainstaluj na swoim blogu widgety z książkami, umieszczaj informacje o książkach we wpisach, otwórz własną księgarnię i zarabiaj z GW Helion! 
     
    268268* Walidacja identyfikatora partnera 
    269269 
     270= 1.4.7 = 
     271* Możliwość ściągania spakowanego pliku xml 
     272* Wstawianie wielu rekordów jednocześnie podczas importu z pliku xml  
     273* Import pozycji z poprawnym isbn'em 
     274 
    270275== Upgrade Notice == 
    271276 
     
    436441= 1.4.6 = 
    437442Walidacja identyfikatora partnera 
     443 
     444= 1.4.7 = 
     445Możliwość ściągania spakowanego pliku xml 
     446Wstawianie wielu rekordów jednocześnie podczas importu z pliku xml  
     447Import pozycji z poprawnym isbn'em 
Note: See TracChangeset for help on using the changeset viewer.