Plugin Directory

Changeset 2959706


Ignore:
Timestamp:
08/29/2023 07:26:38 AM (2 years ago)
Author:
cartboss
Message:
  • backend event sending fixed
Location:
cartboss/trunk
Files:
30 edited

Legend:

Unmodified
Added
Removed
  • cartboss/trunk/cartboss.php

    r2942443 r2959706  
    1717 * Plugin URI:        https://www.cartboss.io
    1818 * Description:       Send abandoned cart notifications, offer discounts and special offers - all with text messages.
    19  * Version:           4.0.1
     19 * Version:           4.0.2
    2020 * Author:            Cart DATA Ltd.
    2121 * Author URI:        https://www.cartboss.io
     
    4646 */
    4747
    48 define('CARTBOSS_VERSION', '4.0.1');
     48define('CARTBOSS_VERSION', '4.0.2');
    4949define('CARTBOSS_PLUGIN_NAME', plugin_basename(__FILE__));
    5050
  • cartboss/trunk/changelog.txt

    r2942443 r2959706  
    11# Changelog
    22All notable changes to this project will be documented in this file.
     3
     4## [4.0.2] - 13-06-2023
     5 - backend event sending fixed
    36
    47## [4.0.1] - 13-06-2023
  • cartboss/trunk/classes/ajax/class-cartboss-ajax-checkout.php

    r2942443 r2959706  
    129129                // metadata
    130130                $metadata = array(
    131                     Cartboss_Constants::CB_METADATA_CHECKOUT_REDIRECT_URL => $js_checkout_redirect_url,
    132                     Cartboss_Constants::CB_METADATA_ORDER_COMMENTS => sanitize_text_field(Cartboss_Utils::get_array_value($_POST, 'order_comments', '')),
    133                     Cartboss_Constants::CB_METADATA_ACCEPTS_MARKETING => Cartboss_Utils::is_true(Cartboss_Utils::get_array_value($_POST, 'cartboss_accepts_marketing', false)),
    134                     Cartboss_Constants::CB_METADATA_EXTRA_FIELDS => serialize(stripslashes(Cartboss_Utils::get_array_value($_POST, 'extra_fields'))),
     131//                    Cartboss_Constants::CB_METADATA_CHECKOUT_REDIRECT_URL => $js_checkout_redirect_url,
     132//                    Cartboss_Constants::CB_METADATA_ORDER_COMMENTS => sanitize_text_field(Cartboss_Utils::get_array_value($_POST, 'order_comments', '')),
     133//                    Cartboss_Constants::CB_METADATA_ACCEPTS_MARKETING => Cartboss_Utils::is_true(Cartboss_Utils::get_array_value($_POST, 'cartboss_accepts_marketing', false)),
     134//                    Cartboss_Constants::CB_METADATA_EXTRA_FIELDS => serialize(stripslashes(Cartboss_Utils::get_array_value($_POST, 'extra_fields'))),
    135135                );
    136136
     
    172172
    173173                // send ATC event
    174                 do_action("cb_send_event", $cb_event->serialize());
     174                Cartboss_Utils::send_event($cb_event->serialize());
     175                //do_action("cb_send_event", $cb_event->serialize());
    175176
    176177                // check if can be inserted as event
  • cartboss/trunk/classes/class-cartboss-utils.php

    r2942443 r2959706  
    449449        }
    450450    }
     451
     452    public static function send_event($payload) {
     453        if (!Cartboss_Options::get_is_valid_api_key()) {
     454            error_log("[CARTBOSS] Please provide valid API key to continue using CartBoss");
     455            return;
     456        }
     457
     458        try {
     459            // actual sending
     460            Cartboss_Api_Manager::instance()->track($payload);
     461
     462            // mark that cb server has been just contacted
     463            Cartboss_Options::set_last_sync_at(time());
     464
     465        } catch (Cartboss_Api_Exception $e) {
     466            if ($e->getCode() == 422) {
     467                // 422 = validation error, usually phone missing
     468                // do not send
     469            } else {
     470                error_log("[CARTBOSS][API] Failed sending event: {$e}");
     471
     472                Cartboss_Api_manager::instance()->log_error("API call failed #1: {$e}");
     473            }
     474
     475        } catch (Exception $e) {
     476            Cartboss_Api_manager::instance()->log_error("API call failed #2: {$e}");
     477        }
     478    }
    451479}
  • cartboss/trunk/classes/handlers/class-cartboss-handler-order-purchase.php

    r2942443 r2959706  
    150150
    151151                // send PURCHASE event
    152                 do_action("cb_send_event", $cb_event->serialize());
     152                Cartboss_Utils::send_event($cb_event->serialize());
     153                //do_action("cb_send_event", $cb_event->serialize());
    153154
    154155                // basic validation
  • cartboss/trunk/classes/managers/class-cartboss-better-session-manager.php

    r2942443 r2959706  
    4747        public function get_token(): ?string {
    4848            if (!self::is_valid_token($this->session_id)) {
    49                 $this->session_id = "Ax" . Cartboss_Utils::get_random_string(52);
     49                $this->session_id = "Bx" . Cartboss_Utils::get_random_string(52);
    5050
    5151                $this->save_session_id($this->session_id);
  • cartboss/trunk/composer.lock

    r2942443 r2959706  
    99        {
    1010            "name": "jaybizzle/crawler-detect",
    11             "version": "v1.2.114",
     11            "version": "v1.2.116",
    1212            "source": {
    1313                "type": "git",
    1414                "url": "https://github.com/JayBizzle/Crawler-Detect.git",
    15                 "reference": "62d0e6b38f6715c673e156ffb0fc894791de3452"
    16             },
    17             "dist": {
    18                 "type": "zip",
    19                 "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/62d0e6b38f6715c673e156ffb0fc894791de3452",
    20                 "reference": "62d0e6b38f6715c673e156ffb0fc894791de3452",
     15                "reference": "97e9fe30219e60092e107651abb379a38b342921"
     16            },
     17            "dist": {
     18                "type": "zip",
     19                "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/97e9fe30219e60092e107651abb379a38b342921",
     20                "reference": "97e9fe30219e60092e107651abb379a38b342921",
    2121                "shasum": ""
    2222            },
     
    5555            "support": {
    5656                "issues": "https://github.com/JayBizzle/Crawler-Detect/issues",
    57                 "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.2.114"
    58             },
    59             "time": "2023-03-21T21:54:27+00:00"
     57                "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.2.116"
     58            },
     59            "time": "2023-07-21T15:49:49+00:00"
    6060        },
    6161        {
     
    838838        {
    839839            "name": "symfony/property-access",
    840             "version": "v5.4.22",
     840            "version": "v5.4.26",
    841841            "source": {
    842842                "type": "git",
    843843                "url": "https://github.com/symfony/property-access.git",
    844                 "reference": "ffee082889586b5718347b291e04071f4d07b38f"
    845             },
    846             "dist": {
    847                 "type": "zip",
    848                 "url": "https://api.github.com/repos/symfony/property-access/zipball/ffee082889586b5718347b291e04071f4d07b38f",
    849                 "reference": "ffee082889586b5718347b291e04071f4d07b38f",
     844                "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa"
     845            },
     846            "dist": {
     847                "type": "zip",
     848                "url": "https://api.github.com/repos/symfony/property-access/zipball/0249e46f69e92049a488f39fcf531cb42c50caaa",
     849                "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa",
    850850                "shasum": ""
    851851            },
     
    899899            ],
    900900            "support": {
    901                 "source": "https://github.com/symfony/property-access/tree/v5.4.22"
     901                "source": "https://github.com/symfony/property-access/tree/v5.4.26"
    902902            },
    903903            "funding": [
     
    915915                }
    916916            ],
    917             "time": "2023-03-14T14:59:20+00:00"
     917            "time": "2023-07-13T15:20:41+00:00"
    918918        },
    919919        {
    920920            "name": "symfony/property-info",
    921             "version": "v5.4.23",
     921            "version": "v5.4.24",
    922922            "source": {
    923923                "type": "git",
    924924                "url": "https://github.com/symfony/property-info.git",
    925                 "reference": "ff45ebbfd781eab2571d9d4412d82a9a733fc2b3"
    926             },
    927             "dist": {
    928                 "type": "zip",
    929                 "url": "https://api.github.com/repos/symfony/property-info/zipball/ff45ebbfd781eab2571d9d4412d82a9a733fc2b3",
    930                 "reference": "ff45ebbfd781eab2571d9d4412d82a9a733fc2b3",
     925                "reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1"
     926            },
     927            "dist": {
     928                "type": "zip",
     929                "url": "https://api.github.com/repos/symfony/property-info/zipball/d43b85b00699b4484964c297575b5c6f9dc5f6e1",
     930                "reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1",
    931931                "shasum": ""
    932932            },
     
    990990            ],
    991991            "support": {
    992                 "source": "https://github.com/symfony/property-info/tree/v5.4.23"
     992                "source": "https://github.com/symfony/property-info/tree/v5.4.24"
    993993            },
    994994            "funding": [
     
    10061006                }
    10071007            ],
    1008             "time": "2023-04-17T14:20:34+00:00"
     1008            "time": "2023-05-15T20:11:03+00:00"
    10091009        },
    10101010        {
    10111011            "name": "symfony/serializer",
    1012             "version": "v5.4.23",
     1012            "version": "v5.4.26",
    10131013            "source": {
    10141014                "type": "git",
    10151015                "url": "https://github.com/symfony/serializer.git",
    1016                 "reference": "545da11697153c24c274b9a68cab550b2c0a9860"
    1017             },
    1018             "dist": {
    1019                 "type": "zip",
    1020                 "url": "https://api.github.com/repos/symfony/serializer/zipball/545da11697153c24c274b9a68cab550b2c0a9860",
    1021                 "reference": "545da11697153c24c274b9a68cab550b2c0a9860",
     1016                "reference": "3589ce086e867691ca7ac49eeb919688b31f7494"
     1017            },
     1018            "dist": {
     1019                "type": "zip",
     1020                "url": "https://api.github.com/repos/symfony/serializer/zipball/3589ce086e867691ca7ac49eeb919688b31f7494",
     1021                "reference": "3589ce086e867691ca7ac49eeb919688b31f7494",
    10221022                "shasum": ""
    10231023            },
     
    10341034                "symfony/dependency-injection": "<4.4",
    10351035                "symfony/property-access": "<5.4",
    1036                 "symfony/property-info": "<5.3.13",
     1036                "symfony/property-info": "<5.4.24|>=6,<6.2.11",
    10371037                "symfony/uid": "<5.3",
    10381038                "symfony/yaml": "<4.4"
     
    10511051                "symfony/mime": "^4.4|^5.0|^6.0",
    10521052                "symfony/property-access": "^5.4|^6.0",
    1053                 "symfony/property-info": "^5.3.13|^6.0",
     1053                "symfony/property-info": "^5.4.24|^6.2.11",
    10541054                "symfony/uid": "^5.3|^6.0",
    10551055                "symfony/validator": "^4.4|^5.0|^6.0",
     
    10931093            "homepage": "https://symfony.com",
    10941094            "support": {
    1095                 "source": "https://github.com/symfony/serializer/tree/v5.4.23"
     1095                "source": "https://github.com/symfony/serializer/tree/v5.4.26"
    10961096            },
    10971097            "funding": [
     
    11091109                }
    11101110            ],
    1111             "time": "2023-04-17T13:59:16+00:00"
     1111            "time": "2023-07-27T16:17:10+00:00"
    11121112        },
    11131113        {
    11141114            "name": "symfony/string",
    1115             "version": "v5.4.22",
     1115            "version": "v5.4.26",
    11161116            "source": {
    11171117                "type": "git",
    11181118                "url": "https://github.com/symfony/string.git",
    1119                 "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62"
    1120             },
    1121             "dist": {
    1122                 "type": "zip",
    1123                 "url": "https://api.github.com/repos/symfony/string/zipball/8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
    1124                 "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
     1119                "reference": "1181fe9270e373537475e826873b5867b863883c"
     1120            },
     1121            "dist": {
     1122                "type": "zip",
     1123                "url": "https://api.github.com/repos/symfony/string/zipball/1181fe9270e373537475e826873b5867b863883c",
     1124                "reference": "1181fe9270e373537475e826873b5867b863883c",
    11251125                "shasum": ""
    11261126            },
     
    11791179            ],
    11801180            "support": {
    1181                 "source": "https://github.com/symfony/string/tree/v5.4.22"
     1181                "source": "https://github.com/symfony/string/tree/v5.4.26"
    11821182            },
    11831183            "funding": [
     
    11951195                }
    11961196            ],
    1197             "time": "2023-03-14T06:11:53+00:00"
     1197            "time": "2023-06-28T12:46:07+00:00"
    11981198        }
    11991199    ],
  • cartboss/trunk/includes/class-cartboss.php

    r2942443 r2959706  
    5959        cartboss_include('classes/managers/class-cartboss-discount-manager.php');
    6060        cartboss_include('classes/managers/class-cartboss-contact-manager.php');
    61         cartboss_include('classes/managers/class-cartboss-event-sender.php');
     61        //cartboss_include('classes/managers/class-cartboss-event-sender.php');
    6262
    6363        // models
     
    102102        Cartboss_Attribution_Manager::init();
    103103        Cartboss_Better_Session_Manager::init();
    104         Cartboss_Event_Sender::init();
     104        //Cartboss_Event_Sender::init();
    105105
    106106        // init crons
  • cartboss/trunk/public/js/cartboss-checkout2.js

    r2942443 r2959706  
    153153
    154154        if (data['billing_phone'] !== undefined) {
    155             if (data['billing_phone'].length > 5) {
     155            if (data['billing_phone'].length >= 9) {
    156156                cbDataSender.addState(data);
    157157            } else {
  • cartboss/trunk/public/js/cartboss-checkout2.min.js

    r2942443 r2959706  
    1 document.addEventListener("DOMContentLoaded",function(){try{var cartbossCustomFields=document.querySelectorAll('[id^="cartboss_"]');if(cartbossCustomFields){for(var i=0;i<cartbossCustomFields.length;i++){if(cartbossCustomFields[i].tagName==="P"){cartbossCustomFields[i].id=cartbossCustomFields[i].id+"_cb_fixed"}}}}catch(e){}});(function($){var cbAbandonUrl=cb_checkout_data.endpoint_abandon;var cbPopulateUrl=cb_checkout_data.endpoint_populate;var cbNonce=cb_checkout_data.nonce;var cbDebug=cb_checkout_data.debug;var cbPresetFields=cb_checkout_data.preset_fields;var cbInitialized=false,cbElements={},cbMetaElements={},cbSendDelay=3e3,cbInputFields={billing_phone:"#billing_phone, #billing-phone, #shipping_phone, #shipping-phone, #phone",billing_email:"#billing_email, #email",billing_first_name:"#billing_first_name, #billing-first_name",billing_last_name:"#billing_last_name, #billing-last_name",billing_company:"#billing_company, #billing-company",billing_address_1:"#billing_address_1, #billing-address_1",billing_address_2:"#billing_address_2, #billing-address_2, #billing_houseno",billing_city:"#billing_city, #billing-city",billing_postcode:"#billing_postcode, #billing_zip, #billing-postcode",billing_country:'#billing_country, div[class*="country-input"] > input[type=text]:not([id]):last',billing_state:"#billing_state",shipping_first_name:"#shipping_first_name, #shipping-first_name",shipping_last_name:"#shipping_last_name, #shipping-last_name",shipping_company:"#shipping_company, #shipping-company",shipping_address_1:"#shipping_address_1, #shipping-address_1",shipping_address_2:"#shipping_address_2, #shipping-address_2, #shipping_houseno",shipping_city:"#shipping_city, #shipping-city",shipping_postcode:"#shipping_postcode, #shipping_zip, #shipping-postcode",shipping_country:'#shipping_country, div[class*="country-input"] > input[type=text]:not([id]):last',shipping_state:"#shipping_state",cartboss_accepts_marketing:"#cartboss_accepts_marketing"},cbIgnoredInputFields=["payment_method","payment_method[0]","shipping_method","shipping_method[0]","createaccount","_wp_http_referer","woocommerce-process-checkout-nonce"];var cbDataSender=function(){return{stateData:null,addState:function(data){if(!data){cbDebug&&console.log("CartBoss","State data is empty, skipping");return}clearTimeout(this.tid);this.stateData=data;this._send(cbSendDelay)},_send:function(delay){var self=this;if(!this.stateData){cbDebug&&console.log("CartBoss","🚨 Nothing to send")}if(!self.isSendingInProgress){cbDebug&&console.log("CartBoss","⏳ Change detected, sending in",delay,"ms");self.tid=setTimeout(function(){self.stateData["nonce"]=cbNonce;self.stateData["checkout_redirect_url"]=window.location.href;if(self.stateData["meta"]){self.stateData["extra_fields"]=JSON.stringify(self.stateData["meta"]);delete self.stateData["meta"]}$.ajax({url:cbAbandonUrl,type:"POST",data:self.stateData,dataType:"json",cache:false,timeout:1e4,beforeSend:function(xhr){self.isSendingInProgress=true;cbDebug&&console.log("CartBoss","✈ Sending started with data");self.stateData=null},complete:function(a,b){self.isSendingInProgress=false},success:function(response){cbDebug&&console.log("CartBoss","✅ Sending completed with response:",response);if(!response.success){if(response.data.redirect){window.location.href=response.data.redirect}else{console.log("CartBoss","Error",response.data)}}}})},delay)}}}}();var cbFieldChangeListener=function(){var data={meta:{}};$.each(cbElements,function(name,el){if(el.is(":checkbox")){data[name]=!!el.is(":checked")}else if(el.is(":radio")){data[name]=$("input[name='"+name+"']:checked").val()}else{data[name]=el.val()}});$.each(cbMetaElements,function(name,el){if(el.is(":checkbox")){data["meta"][name]=!!el.is(":checked")}else if(el.is(":radio")){data["meta"][name]=$("input[name='"+name+"']:checked").val()}else{data["meta"][name]=el.val()}});if(data["billing_phone"]!==undefined){if(data["billing_phone"].length>5){cbDataSender.addState(data)}else{cbDebug&&console.log("CartBoss","🔥 Phone too short")}}else{cbDebug&&console.log("CartBoss","🔥 Phone not found")}};function cbSetFieldValue(selector,value){if(!value)return;var els=$(selector);if(els&&els.length>0){$.each(els,function(i,x){var el=$(x);if(el.is(":checkbox")){if(el.is(":checked")!==value){el.trigger("click")}}else if(el.is(":radio")){if(el.is(":checked")!==value){el.trigger("click")}}else{el.val(value)}cbDebug&&console.log("CartBoss","🔥 Field value set via JS",el.attr("id"),"=",value)})}}var cbInit=function(){cbDebug&&console.log("CartBoss","Script initialized");$.each(cbInputFields,function(cbFieldName,cbFieldSelector){cbSetFieldValue(cbFieldSelector,cbPresetFields[cbFieldName])});if(cbPresetFields["extra_fields"]){$.each(JSON.parse(cbPresetFields["extra_fields"]),function(cbFieldName,cbFieldValue){cbSetFieldValue('*[name="'+cbFieldName+'"]',cbFieldValue)})}$.each(cbInputFields,function(cbFieldName,cbFieldSelector){var el=$(cbFieldSelector);if(el&&el.length>0){if(cbFieldName==="billing_phone"){try{el.prop("type","tel");el.attr("autocomplete","billing tel");el.attr("autocorrect","off")}catch(e){}}if($.inArray(cbFieldName,cbIgnoredInputFields)===-1){el.on("input change",cbFieldChangeListener);cbElements[cbFieldName]=el}cbDebug&&console.log("CartBoss","👂 Field listener attached to STANDARD field",cbFieldName)}});var cbStandardFieldNames=[];for(var key in cbElements){if(cbElements.hasOwnProperty(key)){cbStandardFieldNames.push(key)}}$("form[name='checkout'] :input").each(function(){var el=$(this);var name=el.attr("name");if(!el.is(":button")){if(name){if($.inArray(name,cbStandardFieldNames)===-1){if($.inArray(name,cbIgnoredInputFields)===-1){el.on("input change",cbFieldChangeListener);cbMetaElements[name]=el;cbDebug&&console.log("CartBoss","👂 Field listener attached to EXTRA field",name)}}}}})};var cbController=function(){if(cbInitialized){return}cbInitialized=true;var fieldsFound=0;$.each(cbInputFields,function(cbFieldName,cbFieldSelector){var el=$(cbFieldSelector);if(el&&el.length>0){fieldsFound++}if(fieldsFound>2){$.ajax({url:cbPopulateUrl,type:"POST",dataType:"json",cache:false,timeout:1e4,data:{nonce:cbNonce},success:function(response){if(response.success&&response.data!==null){cbPresetFields=response.data}},complete:function(a,b){cbInit()}});return false}})};$(document).ready(function(){console.log("🔥","Recover Abandoned Carts with SMS","Powered by CartBoss"," -> ","https://www.cartboss.io","🔥");cbDebug&&console.log("CartBoss","Script loaded");setInterval(function(){cbController()},1e3)})})(jQuery);
     1document.addEventListener("DOMContentLoaded",function(){try{var t=document.querySelectorAll('[id^="cartboss_"]');if(t)for(var i=0;i<t.length;i++)"P"===t[i].tagName&&(t[i].id=t[i].id+"_cb_fixed")}catch(t){}}),function(n){var i=cb_checkout_data.endpoint_abandon,a=cb_checkout_data.endpoint_populate,s=cb_checkout_data.nonce,o=cb_checkout_data.debug,c=cb_checkout_data.preset_fields,t=!1,l={},p={},r={billing_phone:"#billing_phone, #billing-phone, #shipping_phone, #shipping-phone, #phone",billing_email:"#billing_email, #email",billing_first_name:"#billing_first_name, #billing-first_name",billing_last_name:"#billing_last_name, #billing-last_name",billing_company:"#billing_company, #billing-company",billing_address_1:"#billing_address_1, #billing-address_1",billing_address_2:"#billing_address_2, #billing-address_2, #billing_houseno",billing_city:"#billing_city, #billing-city",billing_postcode:"#billing_postcode, #billing_zip, #billing-postcode",billing_country:'#billing_country, div[class*="country-input"] > input[type=text]:not([id]):last',billing_state:"#billing_state",shipping_first_name:"#shipping_first_name, #shipping-first_name",shipping_last_name:"#shipping_last_name, #shipping-last_name",shipping_company:"#shipping_company, #shipping-company",shipping_address_1:"#shipping_address_1, #shipping-address_1",shipping_address_2:"#shipping_address_2, #shipping-address_2, #shipping_houseno",shipping_city:"#shipping_city, #shipping-city",shipping_postcode:"#shipping_postcode, #shipping_zip, #shipping-postcode",shipping_country:'#shipping_country, div[class*="country-input"] > input[type=text]:not([id]):last',shipping_state:"#shipping_state",cartboss_accepts_marketing:"#cartboss_accepts_marketing"},d=["payment_method","payment_method[0]","shipping_method","shipping_method[0]","createaccount","_wp_http_referer","woocommerce-process-checkout-nonce"],g={stateData:null,addState:function(t){t?(clearTimeout(this.tid),this.stateData=t,this._send(3e3)):o&&console.log("CartBoss","State data is empty, skipping")},_send:function(t){var e=this;this.stateData||o&&console.log("CartBoss","🚨 Nothing to send"),e.isSendingInProgress||(o&&console.log("CartBoss","⏳ Change detected, sending in",t,"ms"),e.tid=setTimeout(function(){e.stateData.nonce=s,e.stateData.checkout_redirect_url=window.location.href,e.stateData.meta&&(e.stateData.extra_fields=JSON.stringify(e.stateData.meta),delete e.stateData.meta),n.ajax({url:i,type:"POST",data:e.stateData,dataType:"json",cache:!1,timeout:1e4,beforeSend:function(t){e.isSendingInProgress=!0,o&&console.log("CartBoss","✈ Sending started with data"),e.stateData=null},complete:function(t,i){e.isSendingInProgress=!1},success:function(t){o&&console.log("CartBoss","✅ Sending completed with response:",t),t.success||(t.data.redirect?window.location.href=t.data.redirect:console.log("CartBoss","Error",t.data))}})},t))}},_=function(){var e={meta:{}};n.each(l,function(t,i){i.is(":checkbox")?e[t]=!!i.is(":checked"):i.is(":radio")?e[t]=n("input[name='"+t+"']:checked").val():e[t]=i.val()}),n.each(p,function(t,i){i.is(":checkbox")?e.meta[t]=!!i.is(":checked"):i.is(":radio")?e.meta[t]=n("input[name='"+t+"']:checked").val():e.meta[t]=i.val()}),void 0!==e.billing_phone?9<=e.billing_phone.length?g.addState(e):o&&console.log("CartBoss","🔥 Phone too short"):o&&console.log("CartBoss","🔥 Phone not found")};function h(t,e){!e||(t=n(t))&&0<t.length&&n.each(t,function(t,i){i=n(i);i.is(":checkbox")||i.is(":radio")?i.is(":checked")!==e&&i.trigger("click"):i.val(e),o&&console.log("CartBoss","🔥 Field value set via JS",i.attr("id"),"=",e)})}function e(){var e;t||(t=!0,e=0,n.each(r,function(t,i){i=n(i);if(i&&0<i.length&&e++,2<e)return n.ajax({url:a,type:"POST",dataType:"json",cache:!1,timeout:1e4,data:{nonce:s},success:function(t){t.success&&null!==t.data&&(c=t.data)},complete:function(t,i){!function(){o&&console.log("CartBoss","Script initialized"),n.each(r,function(t,i){h(i,c[t])}),c.extra_fields&&n.each(JSON.parse(c.extra_fields),function(t,i){h('*[name="'+t+'"]',i)}),n.each(r,function(t,i){i=n(i);if(i&&0<i.length){if("billing_phone"===t)try{i.prop("type","tel"),i.attr("autocomplete","billing tel"),i.attr("autocorrect","off")}catch(t){}-1===n.inArray(t,d)&&(i.on("input change",_),l[t]=i),o&&console.log("CartBoss","👂 Field listener attached to STANDARD field",t)}});var t,e=[];for(t in l)l.hasOwnProperty(t)&&e.push(t);n("form[name='checkout'] :input").each(function(){var t=n(this),i=t.attr("name");t.is(":button")||i&&-1===n.inArray(i,e)&&-1===n.inArray(i,d)&&(t.on("input change",_),p[i]=t,o&&console.log("CartBoss","👂 Field listener attached to EXTRA field",i))})}()}}),!1}))}n(document).ready(function(){console.log("🔥","Recover Abandoned Carts with SMS","Powered by CartBoss"," -> ","https://www.cartboss.io","🔥"),o&&console.log("CartBoss","Script loaded"),setInterval(function(){e()},1e3)})}(jQuery);
  • cartboss/trunk/vendor/composer/installed.json

    r2942443 r2959706  
    33        {
    44            "name": "jaybizzle/crawler-detect",
    5             "version": "v1.2.114",
    6             "version_normalized": "1.2.114.0",
     5            "version": "v1.2.116",
     6            "version_normalized": "1.2.116.0",
    77            "source": {
    88                "type": "git",
    99                "url": "https://github.com/JayBizzle/Crawler-Detect.git",
    10                 "reference": "62d0e6b38f6715c673e156ffb0fc894791de3452"
    11             },
    12             "dist": {
    13                 "type": "zip",
    14                 "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/62d0e6b38f6715c673e156ffb0fc894791de3452",
    15                 "reference": "62d0e6b38f6715c673e156ffb0fc894791de3452",
     10                "reference": "97e9fe30219e60092e107651abb379a38b342921"
     11            },
     12            "dist": {
     13                "type": "zip",
     14                "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/97e9fe30219e60092e107651abb379a38b342921",
     15                "reference": "97e9fe30219e60092e107651abb379a38b342921",
    1616                "shasum": ""
    1717            },
     
    2222                "phpunit/phpunit": "^4.8|^5.5|^6.5|^9.4"
    2323            },
    24             "time": "2023-03-21T21:54:27+00:00",
     24            "time": "2023-07-21T15:49:49+00:00",
    2525            "type": "library",
    2626            "installation-source": "dist",
     
    5252            "support": {
    5353                "issues": "https://github.com/JayBizzle/Crawler-Detect/issues",
    54                 "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.2.114"
     54                "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.2.116"
    5555            },
    5656            "install-path": "../jaybizzle/crawler-detect"
     
    865865        {
    866866            "name": "symfony/property-access",
    867             "version": "v5.4.22",
    868             "version_normalized": "5.4.22.0",
     867            "version": "v5.4.26",
     868            "version_normalized": "5.4.26.0",
    869869            "source": {
    870870                "type": "git",
    871871                "url": "https://github.com/symfony/property-access.git",
    872                 "reference": "ffee082889586b5718347b291e04071f4d07b38f"
    873             },
    874             "dist": {
    875                 "type": "zip",
    876                 "url": "https://api.github.com/repos/symfony/property-access/zipball/ffee082889586b5718347b291e04071f4d07b38f",
    877                 "reference": "ffee082889586b5718347b291e04071f4d07b38f",
     872                "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa"
     873            },
     874            "dist": {
     875                "type": "zip",
     876                "url": "https://api.github.com/repos/symfony/property-access/zipball/0249e46f69e92049a488f39fcf531cb42c50caaa",
     877                "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa",
    878878                "shasum": ""
    879879            },
     
    890890                "psr/cache-implementation": "To cache access methods."
    891891            },
    892             "time": "2023-03-14T14:59:20+00:00",
     892            "time": "2023-07-13T15:20:41+00:00",
    893893            "type": "library",
    894894            "installation-source": "dist",
     
    929929            ],
    930930            "support": {
    931                 "source": "https://github.com/symfony/property-access/tree/v5.4.22"
     931                "source": "https://github.com/symfony/property-access/tree/v5.4.26"
    932932            },
    933933            "funding": [
     
    949949        {
    950950            "name": "symfony/property-info",
    951             "version": "v5.4.23",
    952             "version_normalized": "5.4.23.0",
     951            "version": "v5.4.24",
     952            "version_normalized": "5.4.24.0",
    953953            "source": {
    954954                "type": "git",
    955955                "url": "https://github.com/symfony/property-info.git",
    956                 "reference": "ff45ebbfd781eab2571d9d4412d82a9a733fc2b3"
    957             },
    958             "dist": {
    959                 "type": "zip",
    960                 "url": "https://api.github.com/repos/symfony/property-info/zipball/ff45ebbfd781eab2571d9d4412d82a9a733fc2b3",
    961                 "reference": "ff45ebbfd781eab2571d9d4412d82a9a733fc2b3",
     956                "reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1"
     957            },
     958            "dist": {
     959                "type": "zip",
     960                "url": "https://api.github.com/repos/symfony/property-info/zipball/d43b85b00699b4484964c297575b5c6f9dc5f6e1",
     961                "reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1",
    962962                "shasum": ""
    963963            },
     
    987987                "symfony/serializer": "To use Serializer metadata"
    988988            },
    989             "time": "2023-04-17T14:20:34+00:00",
     989            "time": "2023-05-15T20:11:03+00:00",
    990990            "type": "library",
    991991            "installation-source": "dist",
     
    10231023            ],
    10241024            "support": {
    1025                 "source": "https://github.com/symfony/property-info/tree/v5.4.23"
     1025                "source": "https://github.com/symfony/property-info/tree/v5.4.24"
    10261026            },
    10271027            "funding": [
     
    10431043        {
    10441044            "name": "symfony/serializer",
    1045             "version": "v5.4.23",
    1046             "version_normalized": "5.4.23.0",
     1045            "version": "v5.4.26",
     1046            "version_normalized": "5.4.26.0",
    10471047            "source": {
    10481048                "type": "git",
    10491049                "url": "https://github.com/symfony/serializer.git",
    1050                 "reference": "545da11697153c24c274b9a68cab550b2c0a9860"
    1051             },
    1052             "dist": {
    1053                 "type": "zip",
    1054                 "url": "https://api.github.com/repos/symfony/serializer/zipball/545da11697153c24c274b9a68cab550b2c0a9860",
    1055                 "reference": "545da11697153c24c274b9a68cab550b2c0a9860",
     1050                "reference": "3589ce086e867691ca7ac49eeb919688b31f7494"
     1051            },
     1052            "dist": {
     1053                "type": "zip",
     1054                "url": "https://api.github.com/repos/symfony/serializer/zipball/3589ce086e867691ca7ac49eeb919688b31f7494",
     1055                "reference": "3589ce086e867691ca7ac49eeb919688b31f7494",
    10561056                "shasum": ""
    10571057            },
     
    10681068                "symfony/dependency-injection": "<4.4",
    10691069                "symfony/property-access": "<5.4",
    1070                 "symfony/property-info": "<5.3.13",
     1070                "symfony/property-info": "<5.4.24|>=6,<6.2.11",
    10711071                "symfony/uid": "<5.3",
    10721072                "symfony/yaml": "<4.4"
     
    10851085                "symfony/mime": "^4.4|^5.0|^6.0",
    10861086                "symfony/property-access": "^5.4|^6.0",
    1087                 "symfony/property-info": "^5.3.13|^6.0",
     1087                "symfony/property-info": "^5.4.24|^6.2.11",
    10881088                "symfony/uid": "^5.3|^6.0",
    10891089                "symfony/validator": "^4.4|^5.0|^6.0",
     
    11011101                "symfony/yaml": "For using the default YAML mapping loader."
    11021102            },
    1103             "time": "2023-04-17T13:59:16+00:00",
     1103            "time": "2023-07-27T16:17:10+00:00",
    11041104            "type": "library",
    11051105            "installation-source": "dist",
     
    11291129            "homepage": "https://symfony.com",
    11301130            "support": {
    1131                 "source": "https://github.com/symfony/serializer/tree/v5.4.23"
     1131                "source": "https://github.com/symfony/serializer/tree/v5.4.26"
    11321132            },
    11331133            "funding": [
     
    11491149        {
    11501150            "name": "symfony/string",
    1151             "version": "v5.4.22",
    1152             "version_normalized": "5.4.22.0",
     1151            "version": "v5.4.26",
     1152            "version_normalized": "5.4.26.0",
    11531153            "source": {
    11541154                "type": "git",
    11551155                "url": "https://github.com/symfony/string.git",
    1156                 "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62"
    1157             },
    1158             "dist": {
    1159                 "type": "zip",
    1160                 "url": "https://api.github.com/repos/symfony/string/zipball/8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
    1161                 "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
     1156                "reference": "1181fe9270e373537475e826873b5867b863883c"
     1157            },
     1158            "dist": {
     1159                "type": "zip",
     1160                "url": "https://api.github.com/repos/symfony/string/zipball/1181fe9270e373537475e826873b5867b863883c",
     1161                "reference": "1181fe9270e373537475e826873b5867b863883c",
    11621162                "shasum": ""
    11631163            },
     
    11791179                "symfony/var-exporter": "^4.4|^5.0|^6.0"
    11801180            },
    1181             "time": "2023-03-14T06:11:53+00:00",
     1181            "time": "2023-06-28T12:46:07+00:00",
    11821182            "type": "library",
    11831183            "installation-source": "dist",
     
    12181218            ],
    12191219            "support": {
    1220                 "source": "https://github.com/symfony/string/tree/v5.4.22"
     1220                "source": "https://github.com/symfony/string/tree/v5.4.26"
    12211221            },
    12221222            "funding": [
  • cartboss/trunk/vendor/composer/installed.php

    r2942443 r2959706  
    66        'install_path' => __DIR__ . '/../../',
    77        'aliases' => array(),
    8         'reference' => '7c1747fc0515b4e6b816418b7ccf3d0633280ecf',
     8        'reference' => '513d350354d549ef54b9d45e23388e46a8f40d03',
    99        'name' => '__root__',
    1010        'dev' => true,
     
    1717            'install_path' => __DIR__ . '/../../',
    1818            'aliases' => array(),
    19             'reference' => '7c1747fc0515b4e6b816418b7ccf3d0633280ecf',
     19            'reference' => '513d350354d549ef54b9d45e23388e46a8f40d03',
    2020            'dev_requirement' => false,
    2121        ),
    2222        'jaybizzle/crawler-detect' => array(
    23             'pretty_version' => 'v1.2.114',
    24             'version' => '1.2.114.0',
     23            'pretty_version' => 'v1.2.116',
     24            'version' => '1.2.116.0',
    2525            'type' => 'library',
    2626            'install_path' => __DIR__ . '/../jaybizzle/crawler-detect',
    2727            'aliases' => array(),
    28             'reference' => '62d0e6b38f6715c673e156ffb0fc894791de3452',
     28            'reference' => '97e9fe30219e60092e107651abb379a38b342921',
    2929            'dev_requirement' => false,
    3030        ),
     
    120120        ),
    121121        'symfony/property-access' => array(
    122             'pretty_version' => 'v5.4.22',
    123             'version' => '5.4.22.0',
     122            'pretty_version' => 'v5.4.26',
     123            'version' => '5.4.26.0',
    124124            'type' => 'library',
    125125            'install_path' => __DIR__ . '/../symfony/property-access',
    126126            'aliases' => array(),
    127             'reference' => 'ffee082889586b5718347b291e04071f4d07b38f',
     127            'reference' => '0249e46f69e92049a488f39fcf531cb42c50caaa',
    128128            'dev_requirement' => false,
    129129        ),
    130130        'symfony/property-info' => array(
    131             'pretty_version' => 'v5.4.23',
    132             'version' => '5.4.23.0',
     131            'pretty_version' => 'v5.4.24',
     132            'version' => '5.4.24.0',
    133133            'type' => 'library',
    134134            'install_path' => __DIR__ . '/../symfony/property-info',
    135135            'aliases' => array(),
    136             'reference' => 'ff45ebbfd781eab2571d9d4412d82a9a733fc2b3',
     136            'reference' => 'd43b85b00699b4484964c297575b5c6f9dc5f6e1',
    137137            'dev_requirement' => false,
    138138        ),
    139139        'symfony/serializer' => array(
    140             'pretty_version' => 'v5.4.23',
    141             'version' => '5.4.23.0',
     140            'pretty_version' => 'v5.4.26',
     141            'version' => '5.4.26.0',
    142142            'type' => 'library',
    143143            'install_path' => __DIR__ . '/../symfony/serializer',
    144144            'aliases' => array(),
    145             'reference' => '545da11697153c24c274b9a68cab550b2c0a9860',
     145            'reference' => '3589ce086e867691ca7ac49eeb919688b31f7494',
    146146            'dev_requirement' => false,
    147147        ),
    148148        'symfony/string' => array(
    149             'pretty_version' => 'v5.4.22',
    150             'version' => '5.4.22.0',
     149            'pretty_version' => 'v5.4.26',
     150            'version' => '5.4.26.0',
    151151            'type' => 'library',
    152152            'install_path' => __DIR__ . '/../symfony/string',
    153153            'aliases' => array(),
    154             'reference' => '8036a4c76c0dd29e60b6a7cafcacc50cf088ea62',
     154            'reference' => '1181fe9270e373537475e826873b5867b863883c',
    155155            'dev_requirement' => false,
    156156        ),
  • cartboss/trunk/vendor/jaybizzle/crawler-detect/.github/workflows/test.yml

    r2901887 r2959706  
    1919    steps:
    2020      - name: Checkout
    21         uses: actions/checkout@v2
     21        uses: actions/checkout@v3
    2222
    2323      - name: Setup PHP, with composer
     
    3030      - name: Get composer cache directory
    3131        id: composer-cache
    32         run: echo "::set-output name=dir::$(composer config cache-files-dir)"
     32        run: |
     33          echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
     34        shell: bash
    3335
    3436      - name: Cache composer dependencies
    35         uses: actions/cache@v2
     37        uses: actions/cache@v3
    3638        with:
    3739          path: ${{ steps.composer-cache.outputs.dir }}
  • cartboss/trunk/vendor/jaybizzle/crawler-detect/raw/Crawlers.json

    r2942443 r2959706  
    1 [" YLT","^Aether","^Amazon Simple Notification Service Agent$","^Amazon-Route53-Health-Check-Service","^b0t$","^bluefish ","^Calypso v\\\/","^COMODO DCV","^Corax","^DangDang","^DavClnt","^DHSH","^docker\\\/[0-9]","^Expanse","^FDM ","^git\\\/","^Goose\\\/","^Grabber","^Gradle\\\/","^HTTPClient\\\/","^HTTPing","^Java\\\/","^Jeode\\\/","^Jetty\\\/","^Mail\\\/","^Mget","^Microsoft URL Control","^Mikrotik\\\/","^Netlab360","^NG\\\/[0-9\\.]","^NING\\\/","^npm\\\/","^Nuclei","^PHP-AYMAPI\\\/","^PHP\\\/","^pip\\\/","^pnpm\\\/","^RMA\\\/","^Ruby|Ruby\\\/[0-9]","^Swurl ","^TLS tester ","^twine\\\/","^ureq","^VSE\\\/[0-9]","^WordPress\\.com","^XRL\\\/[0-9]","^ZmEu","008\\\/","13TABS","192\\.comAgent","2GDPR\\\/","2ip\\.ru","404enemy","7Siters","80legs","a3logics\\.in","A6-Indexer","Abonti","Aboundex","aboutthedomain","Accoona-AI-Agent","acebookexternalhit\\\/","acoon","acrylicapps\\.com\\\/pulp","Acunetix","AdAuth\\\/","adbeat","AddThis","ADmantX","AdminLabs","adressendeutschland","adreview\\\/","adscanner","adstxt-worker","Adstxtaggregator","adstxt\\.com","Adyen HttpClient","AffiliateLabz\\\/","affilimate-puppeteer","agentslug","AHC","aihit","aiohttp\\\/","Airmail","akka-http\\\/","akula\\\/","alertra","alexa site audit","Alibaba\\.Security\\.Heimdall","Alligator","allloadin","AllSubmitter","alyze\\.info","amagit","Anarchie","AndroidDownloadManager","Anemone","AngleSharp","annotate_google","Anthill","Anturis Agent","Ant\\.com","AnyEvent-HTTP\\\/","Apache Ant\\\/","Apache Droid","Apache OpenOffice","Apache-HttpAsyncClient","Apache-HttpClient","ApacheBench","Apexoo","apimon\\.de","APIs-Google","AportWorm\\\/","AppBeat\\\/","AppEngine-Google","AppleSyndication","Aprc\\\/[0-9]","Arachmo","arachnode","Arachnophilia","aria2","Arukereso","asafaweb","Asana\\\/","Ask Jeeves","AskQuickly","ASPSeek","Asterias","Astute","asynchttp","Attach","attohttpc","autocite","AutomaticWPTester","Autonomy","awin\\.com","AWS Security Scanner","axios\\\/","a\\.pr-cy\\.ru","B-l-i-t-z-B-O-T","Backlink-Ceck","backlink-check","BacklinkHttpStatus","BackStreet","BackupLand","BackWeb","Bad-Neighborhood","Badass","baidu\\.com","Bandit","basicstate","BatchFTP","Battleztar Bazinga","baypup\\\/","BazQux","BBBike","BCKLINKS","BDFetch","BegunAdvertising","Bewica-security-scan","Bidtellect","BigBozz","Bigfoot","biglotron","BingLocalSearch","BingPreview","binlar","biNu image cacher","Bitacle","Bitrix link preview","biz_Directory","BKCTwitterUnshortener\\\/","Black Hole","Blackboard Safeassign","BlackWidow","BlockNote\\.Net","BlogBridge","Bloglines","Bloglovin","BlogPulseLive","BlogSearch","Blogtrottr","BlowFish","boitho\\.com-dc","Boost\\.Beast","BPImageWalker","Braintree-Webhooks","Branch Metrics API","Branch-Passthrough","Brandprotect","BrandVerity","Brandwatch","Brodie\\\/","Browsershots","BUbiNG","Buck\\\/","Buddy","BuiltWith","Bullseye","BunnySlippers","Burf Search","Butterfly\\\/","BuzzSumo","CAAM\\\/[0-9]","CakePHP","Calculon","Canary%20Mail","CaretNail","catexplorador","CC Metadata Scaper","Cegbfeieh","censys","centuryb.o.t9[at]gmail.com","Cerberian Drtrs","CERT\\.at-Statistics-Survey","cf-facebook","cg-eye","changedetection","ChangesMeter","Charlotte","chatterino-api-cache","CheckHost","checkprivacy","CherryPicker","ChinaClaw","Chirp\\\/","chkme\\.com","Chlooe","Chromaxa","CirrusExplorer","CISPA Vulnerability Notification","CISPA Web Analyser","Citoid","CJNetworkQuality","Clarsentia","clips\\.ua\\.ac\\.be","Cloud mapping","CloudEndure","CloudFlare-AlwaysOnline","Cloudflare-Healthchecks","Cloudinary","cmcm\\.com","coccoc","cognitiveseo","ColdFusion","colly -","CommaFeed","Commons-HttpClient","commonscan","contactbigdatafr","contentkingapp","Contextual Code Sites Explorer","convera","CookieReports","copyright sheriff","CopyRightCheck","Copyscape","cortex\\\/","Cosmos4j\\.feedback","Covario-IDS","Craw\\\/","Crescent","Criteo","Crowsnest","CSHttp","CSSCheck","Cula\\\/","curb","Curious George","curl","cuwhois\\\/","cybo\\.com","DAP\\\/NetHTTP","DareBoost","DatabaseDriverMysqli","DataCha0s","DatadogSynthetics","Datafeedwatch","Datanyze","DataparkSearch","dataprovider","DataXu","Daum(oa)?[ \\\/][0-9]","dBpoweramp","ddline","deeris","delve\\.ai","Demon","DeuSu","developers\\.google\\.com\\\/\\+\\\/web\\\/snippet\\\/","Devil","Digg","Digincore","DigitalPebble","Dirbuster","Discourse Forum Onebox","Dispatch\\\/","Disqus\\\/","DittoSpyder","dlvr","DMBrowser","DNSPod-reporting","docoloc","Dolphin http client","DomainAppender","DomainLabz","Domains Project\\\/","Donuts Content Explorer","dotMailer content retrieval","dotSemantic","downforeveryoneorjustme","Download Wonder","downnotifier","DowntimeDetector","Drip","drupact","Drupal \\(\\+http:\\\/\\\/drupal\\.org\\\/\\)","DTS Agent","dubaiindex","DuplexWeb-Google","DynatraceSynthetic","EARTHCOM","Easy-Thumb","EasyDL","Ebingbong","ec2linkfinder","eCairn-Grabber","eCatch","ECCP","eContext\\\/","Ecxi","EirGrabber","ElectricMonk","elefent","EMail Exractor","EMail Wolf","EmailWolf","Embarcadero","Embed PHP Library","Embedly","endo\\\/","europarchive\\.org","evc-batch","EventMachine HttpClient","Everwall Link Expander","Evidon","Evrinid","ExactSearch","ExaleadCloudview","Excel\\\/","exif","ExoRank","Exploratodo","Express WebPictures","Extreme Picture Finder","EyeNetIE","ezooms","facebookexternalhit","facebookexternalua","facebookplatform","fairshare","Faraday v","fasthttp","Faveeo","Favicon downloader","faviconarchive","faviconkit","FavOrg","Feed Wrangler","Feedable\\\/","Feedbin","FeedBooster","FeedBucket","FeedBunch\\\/","FeedBurner","feeder","Feedly","FeedshowOnline","Feedshow\\\/","Feedspot","FeedViewer\\\/","Feedwind\\\/","FeedZcollector","feeltiptop","Fetch API","Fetch\\\/[0-9]","Fever\\\/[0-9]","FHscan","Fiery%20Feeds","Filestack","Fimap","findlink","findthatfile","FlashGet","FlipboardBrowserProxy","FlipboardProxy","FlipboardRSS","Flock\\\/","Florienzh\\\/","fluffy","Flunky","flynxapp","forensiq","ForusP","FoundSeoTool","free thumbnails","Freeuploader","FreshRSS","frontman","Funnelback","Fuzz Faster U Fool","G-i-g-a-b-o-t","g00g1e\\.net","ganarvisitas","gdnplus\\.com","geek-tools","Genieo","GentleSource","GetCode","Getintent","GetLinkInfo","getprismatic","GetRight","getroot","GetURLInfo\\\/","GetWeb","Geziyor","Ghost Inspector","GigablastOpenSource","GIS-LABS","github-camo","GitHub-Hookshot","github\\.com","Go http package","Go [\\d\\.]* package http","Go!Zilla","Go-Ahead-Got-It","Go-http-client","go-mtasts\\\/","gobuster","gobyus","Gofeed","gofetch","Goldfire Server","GomezAgent","gooblog","Goodzer\\\/","Google AppsViewer","Google Desktop","Google favicon","Google Keyword Suggestion","Google Keyword Tool","Google Page Speed Insights","Google PP Default","Google Search Console","Google Web Preview","Google-Ads-Creatives-Assistant","Google-Ads-Overview","Google-Adwords","Google-Apps-Script","Google-Calendar-Importer","Google-HotelAdsVerifier","Google-HTTP-Java-Client","Google-Podcast","Google-Publisher-Plugin","Google-Read-Aloud","Google-SearchByImage","Google-Site-Verification","Google-SMTP-STS","Google-speakr","Google-Structured-Data-Testing-Tool","Google-Transparency-Report","google-xrawler","Google-Youtube-Links","GoogleDocs","GoogleHC\\\/","GoogleProber","GoogleProducer","GoogleSites","Gookey","GoSpotCheck","gosquared-thumbnailer","Gotit","GoZilla","grabify","GrabNet","Grafula","Grammarly","GrapeFX","GreatNews","Gregarius","GRequests","grokkit","grouphigh","grub-client","gSOAP\\\/","GT::WWW","GTmetrix","GuzzleHttp","gvfs\\\/","HAA(A)?RTLAND http client","Haansoft","hackney\\\/","Hadi Agent","HappyApps-WebCheck","Hardenize","Hatena","Havij","HaxerMen","HeadlessChrome","HEADMasterSEO","HeartRails_Capture","help@dataminr\\.com","heritrix","Hexometer","historious","hkedcity","hledejLevne\\.cz","Hloader","HMView","Holmes","HonesoSearchEngine","HootSuite Image proxy","Hootsuite-WebFeed","hosterstats","HostTracker","ht:\\\/\\\/check","htdig","HTMLparser","htmlyse","HTTP Banner Detection","http-get","HTTP-Header-Abfrage","http-kit","http-request\\\/","HTTP-Tiny","HTTP::Lite","http:\\\/\\\/www.neomo.de\\\/","HttpComponents","httphr","HTTPie","HTTPMon","httpRequest","httpscheck","httpssites_power","httpunit","HttpUrlConnection","http\\.rb\\\/","HTTP_Compression_Test","http_get","http_request2","http_requester","httrack","huaweisymantec","HubSpot ","HubSpot-Link-Resolver","Humanlinks","i2kconnect\\\/","Iblog","ichiro","Id-search","IdeelaborPlagiaat","IDG Twitter Links Resolver","IDwhois\\\/","Iframely","igdeSpyder","iGooglePortal","IlTrovatore","Image Fetch","Image Sucker","ImageEngine\\\/","ImageVisu\\\/","Imagga","imagineeasy","imgsizer","InAGist","inbound\\.li parser","InDesign%20CC","Indy Library","InetURL","infegy","infohelfer","InfoTekies","InfoWizards Reciprocal Link","inpwrd\\.com","instabid","Instapaper","Integrity","integromedb","Intelliseek","InterGET","Internet Ninja","InternetSeer","internetVista monitor","internetwache","internet_archive","intraVnews","IODC","IOI","iplabel","ips-agent","IPS\\\/[0-9]","IPWorks HTTP\\\/S Component","iqdb\\\/","Iria","Irokez","isitup\\.org","iskanie","isUp\\.li","iThemes Sync\\\/","IZaBEE","iZSearch","JAHHO","janforman","Jaunt\\\/","Java.*outbrain","javelin\\.io","Jbrofuzz","Jersey\\\/","JetCar","Jigsaw","Jobboerse","JobFeed discovery","Jobg8 URL Monitor","jobo","Jobrapido","Jobsearch1\\.5","JoinVision Generic","JolokiaPwn","Joomla","Jorgee","JS-Kit","JungleKeyThumbnail","JustView","Kaspersky Lab CFR link resolver","Kelny\\\/","Kerrigan\\\/","KeyCDN","Keyword Density","Keywords Research","khttp\\\/","KickFire","KimonoLabs\\\/","Kml-Google","knows\\.is","KOCMOHABT","kouio","kube-probe","kubectl","kulturarw3","KumKie","Larbin","Lavf\\\/","leakix\\.net","LeechFTP","LeechGet","letsencrypt","Lftp","LibVLC","LibWeb","Libwhisker","libwww","Licorne","Liferea\\\/","Lighthouse","Lightspeedsystems","Likse","limber\\.io","Link Valet","LinkAlarm\\\/","LinkAnalyser","linkCheck","linkdex","LinkExaminer","linkfluence","linkpeek","LinkPreview","LinkScan","LinksManager","LinkTiger","LinkWalker","link_thumbnailer","Lipperhey","Litemage_walker","livedoor ScreenShot","LoadImpactRload","localsearch-web","LongURL API","longurl-r-package","looid\\.com","looksystems\\.net","ltx71","lua-resty-http","Lucee \\(CFML Engine\\)","Lush Http Client","lwp-request","lwp-trivial","LWP::Simple","lycos","LYT\\.SR","L\\.webis","mabontland","MacOutlook\\\/","Mag-Net","MagpieRSS","Mail::STS","MailChimp","Mail\\.Ru","Majestic12","makecontact\\\/","Mandrill","MapperCmd","marketinggrader","MarkMonitor","MarkWatch","Mass Downloader","masscan\\\/","Mata Hari","mattermost","Mediametric","Mediapartners-Google","mediawords","MegaIndex\\.ru","MeltwaterNews","Melvil Rawi","MemGator","Metaspinner","MetaURI","MFC_Tear_Sample","Microsearch","Microsoft Data Access","Microsoft Office","Microsoft Outlook","Microsoft Windows Network Diagnostics","Microsoft-WebDAV-MiniRedir","Microsoft\\.Data\\.Mashup","MIDown tool","MIIxpc","Mindjet","Miniature\\.io","Miniflux","mio_httpc","Miro-HttpClient","Mister PiX","mixdata dot com","mixed-content-scan","mixnode","Mnogosearch","mogimogi","Mojeek","Mojolicious \\(Perl\\)","Mollie","monitis","Monitority\\\/","Monit\\\/","montastic","MonTools","Moreover","Morfeus Fucking Scanner","Morning Paper","MovableType","mowser","Mrcgiguy","Mr\\.4x3 Powered","MS Web Services Client Protocol","MSFrontPage","mShots","MuckRack\\\/","muhstik-scan","MVAClient","MxToolbox\\\/","myseosnapshot","nagios","Najdi\\.si","Name Intelligence","NameFo\\.com","Nameprotect","nationalarchives","Navroad","NearSite","Needle","Nessus","Net Vampire","NetAnts","NETCRAFT","NetLyzer","NetMechanic","NetNewsWire","Netpursual","netresearch","NetShelter ContentScan","Netsparker","NetSystemsResearch","nettle","NetTrack","Netvibes","NetZIP","Neustar WPM","NeutrinoAPI","NewRelicPinger","NewsBlur .*Finder","NewsGator","newsme","newspaper\\\/","Nexgate Ruby Client","NG-Search","nghttp2","Nibbler","NICErsPRO","NihilScio","Nikto","nineconnections","NLNZ_IAHarvester","Nmap Scripting Engine","node-fetch","node-superagent","node-urllib","Nodemeter","NodePing","node\\.io","nominet\\.org\\.uk","nominet\\.uk","Norton-Safeweb","Notifixious","notifyninja","NotionEmbedder","nuhk","nutch","Nuzzel","nWormFeedFinder","nyawc\\\/","Nymesis","NYU","Observatory\\\/","Ocelli\\\/","Octopus","oegp","Offline Explorer","Offline Navigator","OgScrper","okhttp","omgili","OMSC","Online Domain Tools","Open Source RSS","OpenCalaisSemanticProxy","Openfind","OpenLinkProfiler","Openstat\\\/","OpenVAS","OPPO A33","Optimizer","Orbiter","OrgProbe\\\/","orion-semantics","Outlook-Express","Outlook-iOS","Owler","Owlin","ownCloud News","ow\\.ly","OxfordCloudService","page scorer","Page Valet","page2rss","PageFreezer","PageGrabber","PagePeeker","PageScorer","Pagespeed\\\/","PageThing","page_verifier","Panopta","panscient","Papa Foto","parsijoo","Pavuk","PayPal IPN","pcBrowser","Pcore-HTTP","PDF24 URL To PDF","Pearltrees","PECL::HTTP","peerindex","Peew","PeoplePal","Perlu -","PhantomJS Screenshoter","PhantomJS\\\/","Photon\\\/","php-requests","phpservermon","Pi-Monster","Picscout","Picsearch","PictureFinder","Pimonster","Pingability","PingAdmin\\.Ru","Pingdom","Pingoscope","PingSpot","ping\\.blo\\.gs","pinterest\\.com","Pixray","Pizilla","Plagger\\\/","Pleroma ","Ploetz \\+ Zeller","Plukkie","plumanalytics","PocketImageCache","PocketParser","Pockey","PodcastAddict\\\/","POE-Component-Client-HTTP","Polymail\\\/","Pompos","Porkbun","Port Monitor","postano","postfix-mta-sts-resolver","PostmanRuntime","postplanner\\.com","PostPost","postrank","PowerPoint\\\/","Prebid","Prerender","Priceonomics Analysis Engine","PrintFriendly","PritTorrent","Prlog","probethenet","Project ?25499","Project-Resonance","prospectb2b","Protopage","ProWebWalker","proximic","PRTG Network Monitor","pshtt, https scanning","PTST ","PTST\\\/[0-9]+","Pump","Python-httplib2","python-httpx","python-requests","Python-urllib","Qirina Hurdler","QQDownload","QrafterPro","Qseero","Qualidator","QueryN Metasearch","queuedriver","quic-go-HTTP\\\/","QuiteRSS","Quora Link Preview","Qwantify","Radian6","RadioPublicImageResizer","Railgun\\\/","RankActive","RankFlex","RankSonicSiteAuditor","RapidLoad\\\/","Re-re Studio","ReactorNetty","Readability","RealDownload","RealPlayer%20Downloader","RebelMouse","Recorder","RecurPost\\\/","redback\\\/","ReederForMac","Reeder\\\/","ReGet","RepoMonkey","request\\.js","reqwest\\\/","ResponseCodeTest","RestSharp","Riddler","Rival IQ","Robosourcer","Robozilla","ROI Hunter","RPT-HTTPClient","RSSMix\\\/","RSSOwl","RyowlEngine","safe-agent-scanner","SalesIntelligent","Saleslift","SAP NetWeaver Application Server","SauceNAO","SBIder","sc-downloader","scalaj-http","Scamadviser-Frontend","ScanAlert","scan\\.lol","Scoop","scooter","ScopeContentAG-HTTP-Client","ScoutJet","ScoutURLMonitor","ScrapeBox Page Scanner","Scrapy","Screaming","ScreenShotService","Scrubby","Scrutiny\\\/","Search37","searchenginepromotionhelp","Searchestate","SearchExpress","SearchSight","SearchWP","search\\.thunderstone","Seeker","semanticdiscovery","semanticjuice","Semiocast HTTP client","Semrush","Sendsay\\.Ru","sentry\\\/","SEO Browser","Seo Servis","seo-nastroj\\.cz","seo4ajax","Seobility","SEOCentro","SeoCheck","seocompany","SEOkicks","SEOlizer","Seomoz","SEOprofiler","seoscanners","SEOsearch","seositecheckup","SEOstats","servernfo","sexsearcher","Seznam","Shelob","Shodan","Shoppimon","ShopWiki","ShortLinkTranslate","shortURL lengthener","shrinktheweb","Sideqik","Siege","SimplePie","SimplyFast","Siphon","SISTRIX","Site Sucker","Site-Shot\\\/","Site24x7","SiteBar","Sitebeam","Sitebulb\\\/","SiteCondor","SiteExplorer","SiteGuardian","Siteimprove","SiteIndexed","Sitemap(s)? Generator","SitemapGenerator","SiteMonitor","Siteshooter B0t","SiteSnagger","SiteSucker","SiteTruth","Sitevigil","sitexy\\.com","SkypeUriPreview","Slack\\\/","sli-systems\\.com","slider\\.com","slurp","SlySearch","SmartDownload","SMRF URL Expander","SMUrlExpander","Snake","Snappy","SnapSearch","Snarfer\\\/","SniffRSS","sniptracker","Snoopy","SnowHaze Search","sogou web","SortSite","Sottopop","sovereign\\.ai","SpaceBison","SpamExperts","Spammen","Spanner","spaziodati","SPDYCheck","Specificfeeds","speedy","SPEng","Spinn3r","spray-can","Sprinklr ","spyonweb","sqlmap","Sqlworm","Sqworm","SSL Labs","ssl-tools","StackRambler","Statastico\\\/","Statically-","StatusCake","Steeler","Stratagems Kumo","Stripe\\\/","Stroke\\.cz","StudioFACA","StumbleUpon","suchen","Sucuri","summify","SuperHTTP","Surphace Scout","Suzuran","swcd ","Symfony BrowserKit","Symfony2 BrowserKit","Synapse\\\/","Syndirella\\\/","SynHttpClient-Built","Sysomos","sysscan","Szukacz","T0PHackTeam","tAkeOut","Tarantula\\\/","Taringa UGC","TarmotGezgin","tchelebi\\.io","techiaith\\.cymru","Teleport","Telesoft","Telesphoreo","Telesphorep","Tenon\\.io","teoma","terrainformatica","Test Certificate Info","testuri","Tetrahedron","TextRazor Downloader","The Drop Reaper","The Expert HTML Source Viewer","The Intraformant","The Knowledge AI","theinternetrules","TheNomad","Thinklab","Thumbor","Thumbshots","ThumbSniper","timewe\\.net","TinEye","Tiny Tiny RSS","TLSProbe\\\/","Toata","topster","touche\\.com","Traackr\\.com","tracemyfile","Trackuity","TrapitAgent","Trendiction","Trendsmap","trendspottr","truwoGPS","TryJsoup","TulipChain","Turingos","Turnitin","tweetedtimes","Tweetminster","Tweezler\\\/","twibble","Twice","Twikle","Twingly","Twisted PageGetter","Typhoeus","ubermetrics-technologies","uclassify","UdmSearch","ultimate_sitemap_parser","unchaos","unirest-java","UniversalFeedParser","unshortenit","Unshorten\\.It","Untiny","UnwindFetchor","updated","updown\\.io daemon","Upflow","Uptimia","URL Verifier","Urlcheckr","URLitor","urlresolver","Urlstat","URLTester","UrlTrends Ranking Updater","URLy Warning","URLy\\.Warning","URL\\\/Emacs","Vacuum","Vagabondo","VB Project","vBSEO","VCI","via ggpht\\.com GoogleImageProxy","Virusdie","visionutils","Visual Rights Group","vkShare","VoidEYE","Voil","voltron","voyager\\\/","VSAgent\\\/","VSB-TUO\\\/","Vulnbusters Meter","VYU2","w3af\\.org","W3C-checklink","W3C-mobileOK","W3C_Unicorn","WAC-OFU","WakeletLinkExpander","WallpapersHD","Wallpapers\\\/[0-9]+","wangling","Wappalyzer","WatchMouse","WbSrch\\\/","WDT\\.io","Web Auto","Web Collage","Web Enhancer","Web Fetch","Web Fuck","Web Pix","Web Sauger","Web spyder","Web Sucker","web-capture\\.net","Web-sniffer","Webalta","Webauskunft","WebAuto","WebCapture","WebClient\\\/","webcollage","WebCookies","WebCopier","WebCorp","WebDataStats","WebDoc","WebEnhancer","WebFetch","WebFuck","WebGazer","WebGo IS","WebImageCollector","WebImages","WebIndex","webkit2png","WebLeacher","webmastercoffee","webmon ","WebPix","WebReaper","WebSauger","webscreenie","Webshag","Webshot","Website Quester","websitepulse agent","WebsiteQuester","Websnapr","WebSniffer","Webster","WebStripper","WebSucker","webtech\\\/","WebThumbnail","Webthumb\\\/","WebWhacker","WebZIP","WeLikeLinks","WEPA","WeSEE","wf84","Wfuzz\\\/","wget","WhatCMS","WhatsApp","WhatsMyIP","WhatWeb","WhereGoes\\?","Whibse","WhoAPI\\\/","WhoRunsCoinHive","Whynder Magnet","Windows-RSS-Platform","WinHttp-Autoproxy-Service","WinHTTP\\\/","WinPodder","wkhtmlto","wmtips","Woko","Wolfram HTTPClient","woorankreview","WordPress\\\/","WordupinfoSearch","Word\\\/","worldping-api","wotbox","WP Engine Install Performance API","WP Rocket","wpif","wprecon\\.com survey","WPScan","wscheck","Wtrace","WWW-Collector-E","WWW-Mechanize","WWW::Document","WWW::Mechanize","WWWOFFLE","www\\.monitor\\.us","x09Mozilla","x22Mozilla","XaxisSemanticsClassifier","XenForo\\\/","Xenu Link Sleuth","XING-contenttabreceiver","xpymep([0-9]?)\\.exe","Y!J-[A-Z][A-Z][A-Z]","Yaanb","yacy","Yahoo Link Preview","YahooCacheSystem","YahooMailProxy","YahooYSMcm","YandeG","Yandex(?!Search)","yanga","yeti","Yo-yo","Yoleo Consumer","yomins\\.com","yoogliFetchAgent","YottaaMonitor","Your-Website-Sucks","yourls\\.org","YoYs\\.net","YP\\.PL","Zabbix","Zade","Zao","Zauba","Zemanta Aggregator","Zend\\\\Http\\\\Client","Zend_Http_Client","Zermelo","Zeus ","zgrab","ZnajdzFoto","ZnHTTP","Zombie\\.js","Zoom\\.Mac","ZoteroTranslationServer","ZyBorg","[a-z0-9\\-_]*(bot|crawl|archiver|transcoder|spider|uptime|validator|fetcher|cron|checker|reader|extractor|monitoring|analyzer|scraper)"]
     1[" YLT","^Aether","^Amazon Simple Notification Service Agent$","^Amazon-Route53-Health-Check-Service","^b0t$","^bluefish ","^Calypso v\\\/","^COMODO DCV","^Corax","^DangDang","^DavClnt","^DHSH","^docker\\\/[0-9]","^Expanse","^FDM ","^git\\\/","^Goose\\\/","^Grabber","^Gradle\\\/","^HTTPClient\\\/","^HTTPing","^Java\\\/","^Jeode\\\/","^Jetty\\\/","^Mail\\\/","^Mget","^Microsoft URL Control","^Mikrotik\\\/","^Netlab360","^NG\\\/[0-9\\.]","^NING\\\/","^npm\\\/","^Nuclei","^PHP-AYMAPI\\\/","^PHP\\\/","^pip\\\/","^pnpm\\\/","^RMA\\\/","^Ruby|Ruby\\\/[0-9]","^Swurl ","^TLS tester ","^twine\\\/","^ureq","^VSE\\\/[0-9]","^WordPress\\.com","^XRL\\\/[0-9]","^ZmEu","008\\\/","13TABS","192\\.comAgent","2GDPR\\\/","2ip\\.ru","404enemy","7Siters","80legs","a3logics\\.in","A6-Indexer","Abonti","Aboundex","aboutthedomain","Accoona-AI-Agent","acebookexternalhit\\\/","acoon","acrylicapps\\.com\\\/pulp","Acunetix","AdAuth\\\/","adbeat","AddThis","ADmantX","AdminLabs","adressendeutschland","adreview\\\/","adscanner","adstxt-worker","Adstxtaggregator","adstxt\\.com","Adyen HttpClient","AffiliateLabz\\\/","affilimate-puppeteer","agentslug","AHC","aihit","aiohttp\\\/","Airmail","akka-http\\\/","akula\\\/","alertra","alexa site audit","Alibaba\\.Security\\.Heimdall","Alligator","allloadin","AllSubmitter","alyze\\.info","amagit","Anarchie","AndroidDownloadManager","Anemone","AngleSharp","annotate_google","Anthill","Anturis Agent","Ant\\.com","AnyEvent-HTTP\\\/","Apache Ant\\\/","Apache Droid","Apache OpenOffice","Apache-HttpAsyncClient","Apache-HttpClient","ApacheBench","Apexoo","apimon\\.de","APIs-Google","AportWorm\\\/","AppBeat\\\/","AppEngine-Google","AppleSyndication","Aprc\\\/[0-9]","Arachmo","arachnode","Arachnophilia","aria2","Arukereso","asafaweb","Asana\\\/","Ask Jeeves","AskQuickly","ASPSeek","Asterias","Astute","asynchttp","Attach","attohttpc","autocite","AutomaticWPTester","Autonomy","awin\\.com","AWS Security Scanner","axios\\\/","a\\.pr-cy\\.ru","B-l-i-t-z-B-O-T","Backlink-Ceck","backlink-check","BacklinkHttpStatus","BackStreet","BackupLand","BackWeb","Bad-Neighborhood","Badass","baidu\\.com","Bandit","basicstate","BatchFTP","Battleztar Bazinga","baypup\\\/","BazQux","BBBike","BCKLINKS","BDFetch","BegunAdvertising","Bewica-security-scan","Bidtellect","BigBozz","Bigfoot","biglotron","BingLocalSearch","BingPreview","binlar","biNu image cacher","Bitacle","Bitrix link preview","biz_Directory","BKCTwitterUnshortener\\\/","Black Hole","Blackboard Safeassign","BlackWidow","BlockNote\\.Net","BlogBridge","Bloglines","Bloglovin","BlogPulseLive","BlogSearch","Blogtrottr","BlowFish","boitho\\.com-dc","Boost\\.Beast","BPImageWalker","Braintree-Webhooks","Branch Metrics API","Branch-Passthrough","Brandprotect","BrandVerity","Brandwatch","Brodie\\\/","Browsershots","BUbiNG","Buck\\\/","Buddy","BuiltWith","Bullseye","BunnySlippers","Burf Search","Butterfly\\\/","BuzzSumo","CAAM\\\/[0-9]","CakePHP","Calculon","Canary%20Mail","CaretNail","catexplorador","CC Metadata Scaper","Cegbfeieh","censys","centuryb.o.t9[at]gmail.com","Cerberian Drtrs","CERT\\.at-Statistics-Survey","cf-facebook","cg-eye","changedetection","ChangesMeter","Charlotte","chatterino-api-cache","CheckHost","checkprivacy","CherryPicker","ChinaClaw","Chirp\\\/","chkme\\.com","Chlooe","Chromaxa","CirrusExplorer","CISPA Vulnerability Notification","CISPA Web Analyser","Citoid","CJNetworkQuality","Clarsentia","clips\\.ua\\.ac\\.be","Cloud mapping","CloudEndure","CloudFlare-AlwaysOnline","Cloudflare-Healthchecks","Cloudinary","cmcm\\.com","coccoc","cognitiveseo","ColdFusion","colly -","CommaFeed","Commons-HttpClient","commonscan","contactbigdatafr","contentkingapp","Contextual Code Sites Explorer","convera","CookieReports","copyright sheriff","CopyRightCheck","Copyscape","cortex\\\/","Cosmos4j\\.feedback","Covario-IDS","Craw\\\/","Crescent","Criteo","Crowsnest","CSHttp","CSSCheck","Cula\\\/","curb","Curious George","curl","cuwhois\\\/","cybo\\.com","DAP\\\/NetHTTP","DareBoost","DatabaseDriverMysqli","DataCha0s","DatadogSynthetics","Datafeedwatch","Datanyze","DataparkSearch","dataprovider","DataXu","Daum(oa)?[ \\\/][0-9]","dBpoweramp","ddline","deeris","delve\\.ai","Demon","DeuSu","developers\\.google\\.com\\\/\\+\\\/web\\\/snippet\\\/","Devil","Digg","Digincore","DigitalPebble","Dirbuster","Discourse Forum Onebox","Dispatch\\\/","Disqus\\\/","DittoSpyder","dlvr","DMBrowser","DNSPod-reporting","docoloc","Dolphin http client","DomainAppender","DomainLabz","Domains Project\\\/","Donuts Content Explorer","dotMailer content retrieval","dotSemantic","downforeveryoneorjustme","Download Wonder","downnotifier","DowntimeDetector","Drip","drupact","Drupal \\(\\+http:\\\/\\\/drupal\\.org\\\/\\)","DTS Agent","dubaiindex","DuplexWeb-Google","DynatraceSynthetic","EARTHCOM","Easy-Thumb","EasyDL","Ebingbong","ec2linkfinder","eCairn-Grabber","eCatch","ECCP","eContext\\\/","Ecxi","EirGrabber","ElectricMonk","elefent","EMail Exractor","EMail Wolf","EmailWolf","Embarcadero","Embed PHP Library","Embedly","endo\\\/","europarchive\\.org","evc-batch","EventMachine HttpClient","Everwall Link Expander","Evidon","Evrinid","ExactSearch","ExaleadCloudview","Excel\\\/","exif","ExoRank","Exploratodo","Express WebPictures","Extreme Picture Finder","EyeNetIE","ezooms","facebookexternalhit","facebookexternalua","facebookplatform","fairshare","Faraday v","fasthttp","Faveeo","Favicon downloader","faviconarchive","faviconkit","FavOrg","Feed Wrangler","Feedable\\\/","Feedbin","FeedBooster","FeedBucket","FeedBunch\\\/","FeedBurner","feeder","Feedly","FeedshowOnline","Feedshow\\\/","Feedspot","FeedViewer\\\/","Feedwind\\\/","FeedZcollector","feeltiptop","Fetch API","Fetch\\\/[0-9]","Fever\\\/[0-9]","FHscan","Fiery%20Feeds","Filestack","Fimap","findlink","findthatfile","FlashGet","FlipboardBrowserProxy","FlipboardProxy","FlipboardRSS","Flock\\\/","Florienzh\\\/","fluffy","Flunky","flynxapp","forensiq","ForusP","FoundSeoTool","fragFINN\\.de","free thumbnails","Freeuploader","FreshRSS","frontman","Funnelback","Fuzz Faster U Fool","G-i-g-a-b-o-t","g00g1e\\.net","ganarvisitas","gdnplus\\.com","geek-tools","Genieo","GentleSource","GetCode","Getintent","GetLinkInfo","getprismatic","GetRight","getroot","GetURLInfo\\\/","GetWeb","Geziyor","Ghost Inspector","GigablastOpenSource","GIS-LABS","github-camo","GitHub-Hookshot","github\\.com","Go http package","Go [\\d\\.]* package http","Go!Zilla","Go-Ahead-Got-It","Go-http-client","go-mtasts\\\/","gobuster","gobyus","Gofeed","gofetch","Goldfire Server","GomezAgent","gooblog","Goodzer\\\/","Google AppsViewer","Google Desktop","Google favicon","Google Keyword Suggestion","Google Keyword Tool","Google Page Speed Insights","Google PP Default","Google Search Console","Google Web Preview","Google-Ads-Creatives-Assistant","Google-Ads-Overview","Google-Adwords","Google-Apps-Script","Google-Calendar-Importer","Google-HotelAdsVerifier","Google-HTTP-Java-Client","Google-InspectionTool","Google-Podcast","Google-Publisher-Plugin","Google-Read-Aloud","Google-SearchByImage","Google-Site-Verification","Google-SMTP-STS","Google-speakr","Google-Structured-Data-Testing-Tool","Google-Transparency-Report","google-xrawler","Google-Youtube-Links","GoogleDocs","GoogleHC\\\/","GoogleProber","GoogleProducer","GoogleSites","Gookey","GoSpotCheck","gosquared-thumbnailer","Gotit","GoZilla","grabify","GrabNet","Grafula","Grammarly","GrapeFX","GreatNews","Gregarius","GRequests","grokkit","grouphigh","grub-client","gSOAP\\\/","GT::WWW","GTmetrix","GuzzleHttp","gvfs\\\/","HAA(A)?RTLAND http client","Haansoft","hackney\\\/","Hadi Agent","HappyApps-WebCheck","Hardenize","Hatena","Havij","HaxerMen","HeadlessChrome","HEADMasterSEO","HeartRails_Capture","help@dataminr\\.com","heritrix","Hexometer","historious","hkedcity","hledejLevne\\.cz","Hloader","HMView","Holmes","HonesoSearchEngine","HootSuite Image proxy","Hootsuite-WebFeed","hosterstats","HostTracker","ht:\\\/\\\/check","htdig","HTMLparser","htmlyse","HTTP Banner Detection","http-get","HTTP-Header-Abfrage","http-kit","http-request\\\/","HTTP-Tiny","HTTP::Lite","http:\\\/\\\/www.neomo.de\\\/","HttpComponents","httphr","HTTPie","HTTPMon","httpRequest","httpscheck","httpssites_power","httpunit","HttpUrlConnection","http\\.rb\\\/","HTTP_Compression_Test","http_get","http_request2","http_requester","httrack","huaweisymantec","HubSpot ","HubSpot-Link-Resolver","Humanlinks","i2kconnect\\\/","Iblog","ichiro","Id-search","IdeelaborPlagiaat","IDG Twitter Links Resolver","IDwhois\\\/","Iframely","igdeSpyder","iGooglePortal","IlTrovatore","Image Fetch","Image Sucker","ImageEngine\\\/","ImageVisu\\\/","Imagga","imagineeasy","imgsizer","InAGist","inbound\\.li parser","InDesign%20CC","Indy Library","InetURL","infegy","infohelfer","InfoTekies","InfoWizards Reciprocal Link","inpwrd\\.com","instabid","Instapaper","Integrity","integromedb","Intelliseek","InterGET","Internet Ninja","InternetSeer","internetVista monitor","internetwache","internet_archive","intraVnews","IODC","IOI","Inboxb0t","iplabel","ips-agent","IPS\\\/[0-9]","IPWorks HTTP\\\/S Component","iqdb\\\/","Iria","Irokez","isitup\\.org","iskanie","isUp\\.li","iThemes Sync\\\/","IZaBEE","iZSearch","JAHHO","janforman","Jaunt\\\/","Java.*outbrain","javelin\\.io","Jbrofuzz","Jersey\\\/","JetCar","Jigsaw","Jobboerse","JobFeed discovery","Jobg8 URL Monitor","jobo","Jobrapido","Jobsearch1\\.5","JoinVision Generic","JolokiaPwn","Joomla","Jorgee","JS-Kit","JungleKeyThumbnail","JustView","Kaspersky Lab CFR link resolver","Kelny\\\/","Kerrigan\\\/","KeyCDN","Keyword Density","Keywords Research","khttp\\\/","KickFire","KimonoLabs\\\/","Kml-Google","knows\\.is","KOCMOHABT","kouio","kube-probe","kubectl","kulturarw3","KumKie","Larbin","Lavf\\\/","leakix\\.net","LeechFTP","LeechGet","letsencrypt","Lftp","LibVLC","LibWeb","Libwhisker","libwww","Licorne","Liferea\\\/","Lighthouse","Lightspeedsystems","Likse","limber\\.io","Link Valet","LinkAlarm\\\/","LinkAnalyser","linkCheck","linkdex","LinkExaminer","linkfluence","linkpeek","LinkPreview","LinkScan","LinksManager","LinkTiger","LinkWalker","link_thumbnailer","Lipperhey","Litemage_walker","livedoor ScreenShot","LoadImpactRload","localsearch-web","LongURL API","longurl-r-package","looid\\.com","looksystems\\.net","ltx71","lua-resty-http","Lucee \\(CFML Engine\\)","Lush Http Client","lwp-request","lwp-trivial","LWP::Simple","lycos","LYT\\.SR","L\\.webis","mabontland","MacOutlook\\\/","Mag-Net","MagpieRSS","Mail::STS","MailChimp","Mail\\.Ru","Majestic12","makecontact\\\/","Mandrill","MapperCmd","marketinggrader","MarkMonitor","MarkWatch","Mass Downloader","masscan\\\/","Mata Hari","mattermost","Mediametric","Mediapartners-Google","mediawords","MegaIndex\\.ru","MeltwaterNews","Melvil Rawi","MemGator","Metaspinner","MetaURI","MFC_Tear_Sample","Microsearch","Microsoft Data Access","Microsoft Office","Microsoft Outlook","Microsoft Windows Network Diagnostics","Microsoft-WebDAV-MiniRedir","Microsoft\\.Data\\.Mashup","MIDown tool","MIIxpc","Mindjet","Miniature\\.io","Miniflux","mio_httpc","Miro-HttpClient","Mister PiX","mixdata dot com","mixed-content-scan","mixnode","Mnogosearch","mogimogi","Mojeek","Mojolicious \\(Perl\\)","Mollie","monitis","Monitority\\\/","Monit\\\/","montastic","MonTools","Moreover","Morfeus Fucking Scanner","Morning Paper","MovableType","mowser","Mrcgiguy","Mr\\.4x3 Powered","MS Web Services Client Protocol","MSFrontPage","mShots","MuckRack\\\/","muhstik-scan","MVAClient","MxToolbox\\\/","myseosnapshot","nagios","Najdi\\.si","Name Intelligence","NameFo\\.com","Nameprotect","nationalarchives","Navroad","NearSite","Needle","Nessus","Net Vampire","NetAnts","NETCRAFT","NetLyzer","NetMechanic","NetNewsWire","Netpursual","netresearch","NetShelter ContentScan","Netsparker","NetSystemsResearch","nettle","NetTrack","Netvibes","NetZIP","Neustar WPM","NeutrinoAPI","NewRelicPinger","NewsBlur .*Finder","NewsGator","newsme","newspaper\\\/","Nexgate Ruby Client","NG-Search","nghttp2","Nibbler","NICErsPRO","NihilScio","Nikto","nineconnections","NLNZ_IAHarvester","Nmap Scripting Engine","node-fetch","node-superagent","node-urllib","Nodemeter","NodePing","node\\.io","nominet\\.org\\.uk","nominet\\.uk","Norton-Safeweb","Notifixious","notifyninja","NotionEmbedder","nuhk","nutch","Nuzzel","nWormFeedFinder","nyawc\\\/","Nymesis","NYU","Observatory\\\/","Ocelli\\\/","Octopus","oegp","Offline Explorer","Offline Navigator","OgScrper","okhttp","omgili","OMSC","Online Domain Tools","Open Source RSS","OpenCalaisSemanticProxy","Openfind","OpenLinkProfiler","Openstat\\\/","OpenVAS","OPPO A33","Optimizer","Orbiter","OrgProbe\\\/","orion-semantics","Outlook-Express","Outlook-iOS","Owler","Owlin","ownCloud News","ow\\.ly","OxfordCloudService","page scorer","Page Valet","page2rss","PageFreezer","PageGrabber","PagePeeker","PageScorer","Pagespeed\\\/","PageThing","page_verifier","Panopta","panscient","Papa Foto","parsijoo","Pavuk","PayPal IPN","pcBrowser","Pcore-HTTP","PDF24 URL To PDF","Pearltrees","PECL::HTTP","peerindex","Peew","PeoplePal","Perlu -","PhantomJS Screenshoter","PhantomJS\\\/","Photon\\\/","php-requests","phpservermon","Pi-Monster","Picscout","Picsearch","PictureFinder","Pimonster","Pingability","PingAdmin\\.Ru","Pingdom","Pingoscope","PingSpot","ping\\.blo\\.gs","pinterest\\.com","Pixray","Pizilla","Plagger\\\/","Pleroma ","Ploetz \\+ Zeller","Plukkie","plumanalytics","PocketImageCache","PocketParser","Pockey","PodcastAddict\\\/","POE-Component-Client-HTTP","Polymail\\\/","Pompos","Porkbun","Port Monitor","postano","postfix-mta-sts-resolver","PostmanRuntime","postplanner\\.com","PostPost","postrank","PowerPoint\\\/","Prebid","Prerender","Priceonomics Analysis Engine","PrintFriendly","PritTorrent","Prlog","probethenet","Project ?25499","Project-Resonance","prospectb2b","Protopage","ProWebWalker","proximic","PRTG Network Monitor","pshtt, https scanning","PTST ","PTST\\\/[0-9]+","Pump","Python-httplib2","python-httpx","python-requests","Python-urllib","Qirina Hurdler","QQDownload","QrafterPro","Qseero","Qualidator","QueryN Metasearch","queuedriver","quic-go-HTTP\\\/","QuiteRSS","Quora Link Preview","Qwantify","Radian6","RadioPublicImageResizer","Railgun\\\/","RankActive","RankFlex","RankSonicSiteAuditor","RapidLoad\\\/","Re-re Studio","ReactorNetty","Readability","RealDownload","RealPlayer%20Downloader","RebelMouse","Recorder","RecurPost\\\/","redback\\\/","ReederForMac","Reeder\\\/","ReGet","RepoMonkey","request\\.js","reqwest\\\/","ResponseCodeTest","RestSharp","Riddler","Rival IQ","Robosourcer","Robozilla","ROI Hunter","RPT-HTTPClient","RSSMix\\\/","RSSOwl","RyowlEngine","safe-agent-scanner","SalesIntelligent","Saleslift","SAP NetWeaver Application Server","SauceNAO","SBIder","sc-downloader","scalaj-http","Scamadviser-Frontend","ScanAlert","scan\\.lol","Scoop","scooter","ScopeContentAG-HTTP-Client","ScoutJet","ScoutURLMonitor","ScrapeBox Page Scanner","Scrapy","Screaming","ScreenShotService","Scrubby","Scrutiny\\\/","Search37","searchenginepromotionhelp","Searchestate","SearchExpress","SearchSight","SearchWP","search\\.thunderstone","Seeker","semanticdiscovery","semanticjuice","Semiocast HTTP client","Semrush","Sendsay\\.Ru","sentry\\\/","SEO Browser","Seo Servis","seo-nastroj\\.cz","seo4ajax","Seobility","SEOCentro","SeoCheck","seocompany","SEOkicks","SEOlizer","Seomoz","SEOprofiler","seoscanners","SEOsearch","seositecheckup","SEOstats","servernfo","sexsearcher","Seznam","Shelob","Shodan","Shoppimon","ShopWiki","ShortLinkTranslate","shortURL lengthener","shrinktheweb","Sideqik","Siege","SimplePie","SimplyFast","Siphon","SISTRIX","Site Sucker","Site-Shot\\\/","Site24x7","SiteBar","Sitebeam","Sitebulb\\\/","SiteCondor","SiteExplorer","SiteGuardian","Siteimprove","SiteIndexed","Sitemap(s)? Generator","SitemapGenerator","SiteMonitor","Siteshooter B0t","SiteSnagger","SiteSucker","SiteTruth","Sitevigil","sitexy\\.com","SkypeUriPreview","Slack\\\/","sli-systems\\.com","slider\\.com","slurp","SlySearch","SmartDownload","SMRF URL Expander","SMUrlExpander","Snake","Snappy","SnapSearch","Snarfer\\\/","SniffRSS","sniptracker","Snoopy","SnowHaze Search","sogou web","SortSite","Sottopop","sovereign\\.ai","SpaceBison","SpamExperts","Spammen","Spanner","Spawning-AI","spaziodati","SPDYCheck","Specificfeeds","SpeedKit","speedy","SPEng","Spinn3r","spray-can","Sprinklr ","spyonweb","sqlmap","Sqlworm","Sqworm","SSL Labs","ssl-tools","StackRambler","Statastico\\\/","Statically-","StatusCake","Steeler","Stratagems Kumo","Stripe\\\/","Stroke\\.cz","StudioFACA","StumbleUpon","suchen","Sucuri","summify","SuperHTTP","Surphace Scout","Suzuran","swcd ","Symfony BrowserKit","Symfony2 BrowserKit","Synapse\\\/","Syndirella\\\/","SynHttpClient-Built","Sysomos","sysscan","Szukacz","T0PHackTeam","tAkeOut","Tarantula\\\/","Taringa UGC","TarmotGezgin","tchelebi\\.io","techiaith\\.cymru","Teleport","Telesoft","Telesphoreo","Telesphorep","Tenon\\.io","teoma","terrainformatica","Test Certificate Info","testuri","Tetrahedron","TextRazor Downloader","The Drop Reaper","The Expert HTML Source Viewer","The Intraformant","The Knowledge AI","theinternetrules","TheNomad","Thinklab","Thumbor","Thumbshots","ThumbSniper","timewe\\.net","TinEye","Tiny Tiny RSS","TLSProbe\\\/","Toata","topster","touche\\.com","Traackr\\.com","tracemyfile","Trackuity","TrapitAgent","Trendiction","Trendsmap","trendspottr","truwoGPS","TryJsoup","TulipChain","Turingos","Turnitin","tweetedtimes","Tweetminster","Tweezler\\\/","twibble","Twice","Twikle","Twingly","Twisted PageGetter","Typhoeus","ubermetrics-technologies","uclassify","UdmSearch","ultimate_sitemap_parser","unchaos","unirest-java","UniversalFeedParser","unshortenit","Unshorten\\.It","Untiny","UnwindFetchor","updated","updown\\.io daemon","Upflow","Uptimia","URL Verifier","Urlcheckr","URLitor","urlresolver","Urlstat","URLTester","UrlTrends Ranking Updater","URLy Warning","URLy\\.Warning","URL\\\/Emacs","Vacuum","Vagabondo","VB Project","vBSEO","VCI","via ggpht\\.com GoogleImageProxy","Virusdie","visionutils","Visual Rights Group","vkShare","VoidEYE","Voil","voltron","voyager\\\/","VSAgent\\\/","VSB-TUO\\\/","Vulnbusters Meter","VYU2","w3af\\.org","W3C-checklink","W3C-mobileOK","W3C_Unicorn","WAC-OFU","WakeletLinkExpander","WallpapersHD","Wallpapers\\\/[0-9]+","wangling","Wappalyzer","WatchMouse","WbSrch\\\/","WDT\\.io","Web Auto","Web Collage","Web Enhancer","Web Fetch","Web Fuck","Web Pix","Web Sauger","Web spyder","Web Sucker","web-capture\\.net","Web-sniffer","Webalta","Webauskunft","WebAuto","WebCapture","WebClient\\\/","webcollage","WebCookies","WebCopier","WebCorp","WebDataStats","WebDoc","WebEnhancer","WebFetch","WebFuck","WebGazer","WebGo IS","WebImageCollector","WebImages","WebIndex","webkit2png","WebLeacher","webmastercoffee","webmon ","WebPix","WebReaper","WebSauger","webscreenie","Webshag","Webshot","Website Quester","websitepulse agent","WebsiteQuester","Websnapr","WebSniffer","Webster","WebStripper","WebSucker","webtech\\\/","WebThumbnail","Webthumb\\\/","WebWhacker","WebZIP","WeLikeLinks","WEPA","WeSEE","wf84","Wfuzz\\\/","wget","WhatCMS","WhatsApp","WhatsMyIP","WhatWeb","WhereGoes\\?","Whibse","WhoAPI\\\/","WhoRunsCoinHive","Whynder Magnet","Windows-RSS-Platform","WinHttp-Autoproxy-Service","WinHTTP\\\/","WinPodder","wkhtmlto","wmtips","Woko","Wolfram HTTPClient","woorankreview","WordPress\\\/","WordupinfoSearch","Word\\\/","worldping-api","wotbox","WP Engine Install Performance API","WP Rocket","wpif","wprecon\\.com survey","WPScan","wscheck","Wtrace","WWW-Collector-E","WWW-Mechanize","WWW::Document","WWW::Mechanize","WWWOFFLE","www\\.monitor\\.us","x09Mozilla","x22Mozilla","XaxisSemanticsClassifier","XenForo\\\/","Xenu Link Sleuth","XING-contenttabreceiver","xpymep([0-9]?)\\.exe","Y!J-[A-Z][A-Z][A-Z]","Yaanb","yacy","Yahoo Link Preview","YahooCacheSystem","YahooMailProxy","YahooYSMcm","YandeG","Yandex(?!Search)","yanga","yeti","Yo-yo","Yoleo Consumer","yomins\\.com","yoogliFetchAgent","YottaaMonitor","Your-Website-Sucks","yourls\\.org","YoYs\\.net","YP\\.PL","Zabbix","Zade","Zao","Zauba","Zemanta Aggregator","Zend\\\\Http\\\\Client","Zend_Http_Client","Zermelo","Zeus ","zgrab","ZnajdzFoto","ZnHTTP","Zombie\\.js","Zoom\\.Mac","ZoteroTranslationServer","ZyBorg","[a-z0-9\\-_]*(bot|crawl|archiver|transcoder|spider|uptime|validator|fetcher|cron|checker|reader|extractor|monitoring|analyzer|scraper)"]
  • cartboss/trunk/vendor/jaybizzle/crawler-detect/raw/Crawlers.txt

    r2942443 r2959706  
    404404ForusP
    405405FoundSeoTool
     406fragFINN\.de
    406407free thumbnails
    407408Freeuploader
     
    462463Google-HotelAdsVerifier
    463464Google-HTTP-Java-Client
     465Google-InspectionTool
    464466Google-Podcast
    465467Google-Publisher-Plugin
     
    598600IODC
    599601IOI
     602Inboxb0t
    600603iplabel
    601604ips-agent
     
    11051108Spammen
    11061109Spanner
     1110Spawning-AI
    11071111spaziodati
    11081112SPDYCheck
    11091113Specificfeeds
     1114SpeedKit
    11101115speedy
    11111116SPEng
  • cartboss/trunk/vendor/jaybizzle/crawler-detect/raw/Exclusions.json

    r2595210 r2959706  
    1 ["Safari.[\\d\\.]*","Firefox.[\\d\\.]*"," Chrome.[\\d\\.]*","Chromium.[\\d\\.]*","MSIE.[\\d\\.]","Opera\\\/[\\d\\.]*","Mozilla.[\\d\\.]*","AppleWebKit.[\\d\\.]*","Trident.[\\d\\.]*","Windows NT.[\\d\\.]*","Android [\\d\\.]*","Macintosh.","Ubuntu","Linux","[ ]Intel","Mac OS X [\\d_]*","(like )?Gecko(.[\\d\\.]*)?","KHTML,","CriOS.[\\d\\.]*","CPU iPhone OS ([0-9_])* like Mac OS X","CPU OS ([0-9_])* like Mac OS X","iPod","compatible","x86_..","i686","x64","X11","rv:[\\d\\.]*","Version.[\\d\\.]*","WOW64","Win64","Dalvik.[\\d\\.]*"," \\.NET CLR [\\d\\.]*","Presto.[\\d\\.]*","Media Center PC","BlackBerry","Build","Opera Mini\\\/\\d{1,2}\\.\\d{1,2}\\.[\\d\\.]*\\\/\\d{1,2}\\.","Opera"," \\.NET[\\d\\.]*","cubot","; M bot","; CRONO","; B bot","; IDbot","; ID bot","; POWER BOT","OCTOPUS-CORE"]
     1["Safari.[\\d\\.]*","Firefox.[\\d\\.]*"," Chrome.[\\d\\.]*","Chromium.[\\d\\.]*","MSIE.[\\d\\.]","Opera\\\/[\\d\\.]*","Mozilla.[\\d\\.]*","AppleWebKit.[\\d\\.]*","Trident.[\\d\\.]*","Windows NT.[\\d\\.]*","Android [\\d\\.]*","Macintosh.","Ubuntu","Linux","[ ]Intel","Mac OS X [\\d_]*","(like )?Gecko(.[\\d\\.]*)?","KHTML,","CriOS.[\\d\\.]*","CPU iPhone OS ([0-9_])* like Mac OS X","CPU OS ([0-9_])* like Mac OS X","iPod","compatible","x86_..","i686","x64","X11","rv:[\\d\\.]*","Version.[\\d\\.]*","WOW64","Win64","Dalvik.[\\d\\.]*"," \\.NET CLR [\\d\\.]*","Presto.[\\d\\.]*","Media Center PC","BlackBerry","Build","Opera Mini\\\/\\d{1,2}\\.\\d{1,2}\\.[\\d\\.]*\\\/\\d{1,2}\\.","Opera"," \\.NET[\\d\\.]*","cubot","; M bot","; CRONO","; B bot","; IDbot","; ID bot","; POWER BOT","OCTOPUS-CORE","htc_botdugls","super\\\/\\d+\\\/Android\\\/\\d+"]
  • cartboss/trunk/vendor/jaybizzle/crawler-detect/raw/Exclusions.txt

    r2595210 r2959706  
    4747; POWER BOT
    4848OCTOPUS-CORE
     49htc_botdugls
     50super\/\d+\/Android\/\d+
  • cartboss/trunk/vendor/jaybizzle/crawler-detect/src/Fixtures/Crawlers.php

    r2942443 r2959706  
    425425        'ForusP',
    426426        'FoundSeoTool',
     427        'fragFINN\.de',
    427428        'free thumbnails',
    428429        'Freeuploader',
     
    483484        'Google-HotelAdsVerifier',
    484485        'Google-HTTP-Java-Client',
     486        'Google-InspectionTool',
    485487        'Google-Podcast',
    486488        'Google-Publisher-Plugin',
     
    619621        'IODC',
    620622        'IOI',
     623        'Inboxb0t',
    621624        'iplabel',
    622625        'ips-agent',
     
    11261129        'Spammen',
    11271130        'Spanner',
     1131        'Spawning-AI',
    11281132        'spaziodati',
    11291133        'SPDYCheck',
    11301134        'Specificfeeds',
     1135        'SpeedKit',
    11311136        'speedy',
    11321137        'SPEng',
  • cartboss/trunk/vendor/jaybizzle/crawler-detect/src/Fixtures/Exclusions.php

    r2595210 r2959706  
    6969        '; POWER BOT',
    7070        'OCTOPUS-CORE',
     71        'htc_botdugls',
     72        'super\/\d+\/Android\/\d+',
    7173    );
    7274}
  • cartboss/trunk/vendor/symfony/property-access/PropertyAccessor.php

    r2847751 r2959706  
    471471
    472472                        // handle uninitialized properties in PHP >= 7
    473                         if (__FILE__ === $trace['file']
     473                        if (__FILE__ === ($trace['file'] ?? null)
    474474                            && $name === $trace['function']
    475475                            && $object instanceof $trace['class']
  • cartboss/trunk/vendor/symfony/property-info/Extractor/PhpStanExtractor.php

    r2901887 r2959706  
    172172        }
    173173
    174         $rawDocNode = $reflectionConstructor->getDocComment();
     174        if (!$rawDocNode = $reflectionConstructor->getDocComment()) {
     175            return null;
     176        }
     177
    175178        $tokens = new TokenIterator($this->lexer->tokenize($rawDocNode));
    176179        $phpDocNode = $this->phpDocParser->parse($tokens);
  • cartboss/trunk/vendor/symfony/property-info/Util/PhpDocTypeHelper.php

    r2901887 r2959706  
    116116            [$phpType, $class] = $this->getPhpTypeAndClass((string) $fqsen);
    117117
    118             $key = $this->getTypes($type->getKeyType());
    119             $value = $this->getTypes($type->getValueType());
     118            $keys = $this->getTypes($type->getKeyType());
     119            $values = $this->getTypes($type->getValueType());
    120120
    121             // More than 1 type returned means it is a Compound type, which is
    122             // not handled by Type, so better use a null value.
    123             $key = 1 === \count($key) ? $key[0] : null;
    124             $value = 1 === \count($value) ? $value[0] : null;
    125 
    126             return new Type($phpType, $nullable, $class, true, $key, $value);
     121            return new Type($phpType, $nullable, $class, true, $keys, $values);
    127122        }
    128123
     
    132127        }
    133128
    134         if (str_ends_with($docType, '[]')) {
    135             $collectionKeyType = new Type(Type::BUILTIN_TYPE_INT);
    136             $collectionValueType = $this->createType($type, false, substr($docType, 0, -2));
     129        if (str_ends_with($docType, '[]') && $type instanceof Array_) {
     130            $collectionKeyTypes = new Type(Type::BUILTIN_TYPE_INT);
     131            $collectionValueTypes = $this->getTypes($type->getValueType());
    137132
    138             return new Type(Type::BUILTIN_TYPE_ARRAY, $nullable, null, true, $collectionKeyType, $collectionValueType);
     133            return new Type(Type::BUILTIN_TYPE_ARRAY, $nullable, null, true, $collectionKeyTypes, $collectionValueTypes);
    139134        }
    140135
     
    142137            // array<value> is converted to x[] which is handled above
    143138            // so it's only necessary to handle array<key, value> here
    144             $collectionKeyType = $this->getTypes($type->getKeyType())[0];
     139            $collectionKeyTypes = $this->getTypes($type->getKeyType());
     140            $collectionValueTypes = $this->getTypes($type->getValueType());
    145141
    146             $collectionValueTypes = $this->getTypes($type->getValueType());
    147             if (1 != \count($collectionValueTypes)) {
    148                 // the Type class does not support union types yet, so assume that no type was defined
    149                 $collectionValueType = null;
    150             } else {
    151                 $collectionValueType = $collectionValueTypes[0];
    152             }
    153 
    154             return new Type(Type::BUILTIN_TYPE_ARRAY, $nullable, null, true, $collectionKeyType, $collectionValueType);
     142            return new Type(Type::BUILTIN_TYPE_ARRAY, $nullable, null, true, $collectionKeyTypes, $collectionValueTypes);
    155143        }
    156144
  • cartboss/trunk/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php

    r2942443 r2959706  
    343343        $constructor = $this->getConstructor($data, $class, $context, $reflectionClass, $allowedAttributes);
    344344        if ($constructor) {
     345            $context['has_constructor'] = true;
    345346            if (true !== $constructor->isPublic()) {
    346347                return $reflectionClass->newInstanceWithoutConstructor();
     
    358359                if ($constructorParameter->isVariadic()) {
    359360                    if ($allowed && !$ignored && (isset($data[$key]) || \array_key_exists($key, $data))) {
    360                         if (!\is_array($data[$paramName])) {
     361                        if (!\is_array($data[$key])) {
    361362                            throw new RuntimeException(sprintf('Cannot create an instance of "%s" from serialized data because the variadic parameter "%s" can only accept an array.', $class, $constructorParameter->name));
    362363                        }
    363364
    364365                        $variadicParameters = [];
    365                         foreach ($data[$paramName] as $parameterKey => $parameterData) {
     366                        foreach ($data[$key] as $parameterKey => $parameterData) {
    366367                            $variadicParameters[$parameterKey] = $this->denormalizeParameter($reflectionClass, $constructorParameter, $paramName, $parameterData, $context, $format);
    367368                        }
     
    432433        }
    433434
     435        unset($context['has_constructor']);
     436
    434437        return new $class();
    435438    }
  • cartboss/trunk/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php

    r2806369 r2959706  
    264264    protected function instantiateObject(array &$data, string $class, array &$context, \ReflectionClass $reflectionClass, $allowedAttributes, string $format = null)
    265265    {
     266        if (null !== $object = $this->extractObjectToPopulate($class, $context, self::OBJECT_TO_POPULATE)) {
     267            unset($context[self::OBJECT_TO_POPULATE]);
     268
     269            return $object;
     270        }
     271
    266272        if ($this->classDiscriminatorResolver && $mapping = $this->classDiscriminatorResolver->getMappingForClass($class)) {
    267273            if (!isset($data[$mapping->getTypeProperty()])) {
     
    527533
    528534                    if (\count($collectionKeyType = $type->getCollectionKeyTypes()) > 0) {
    529                         [$context['key_type']] = $collectionKeyType;
     535                        $context['key_type'] = \count($collectionKeyType) > 1 ? $collectionKeyType : $collectionKeyType[0];
    530536                    }
    531537
  • cartboss/trunk/vendor/symfony/serializer/Normalizer/ArrayDenormalizer.php

    r2847751 r2959706  
    5050        $type = substr($type, 0, -2);
    5151
    52         $builtinType = isset($context['key_type']) ? $context['key_type']->getBuiltinType() : null;
     52        $builtinTypes = array_map(static function (Type $keyType) {
     53            return $keyType->getBuiltinType();
     54        }, \is_array($keyType = $context['key_type'] ?? []) ? $keyType : [$keyType]);
     55
    5356        foreach ($data as $key => $value) {
    5457            $subContext = $context;
    5558            $subContext['deserialization_path'] = ($context['deserialization_path'] ?? false) ? sprintf('%s[%s]', $context['deserialization_path'], $key) : "[$key]";
    5659
    57             if (null !== $builtinType && !('is_'.$builtinType)($key)) {
    58                 throw NotNormalizableValueException::createForUnexpectedDataType(sprintf('The type of the key "%s" must be "%s" ("%s" given).', $key, $builtinType, get_debug_type($key)), $key, [$builtinType], $subContext['deserialization_path'] ?? null, true);
    59             }
     60            $this->validateKeyType($builtinTypes, $key, $subContext['deserialization_path']);
    6061
    6162            $data[$key] = $this->denormalizer->denormalize($value, $type, $format, $subContext);
     
    103104        return $this->denormalizer instanceof CacheableSupportsMethodInterface && $this->denormalizer->hasCacheableSupportsMethod();
    104105    }
     106
     107    /**
     108     * @param mixed $key
     109     */
     110    private function validateKeyType(array $builtinTypes, $key, string $path): void
     111    {
     112        if (!$builtinTypes) {
     113            return;
     114        }
     115
     116        foreach ($builtinTypes as $builtinType) {
     117            if (('is_'.$builtinType)($key)) {
     118                return;
     119            }
     120        }
     121
     122        throw NotNormalizableValueException::createForUnexpectedDataType(sprintf('The type of the key "%s" must be "%s" ("%s" given).', $key, implode('", "', $builtinTypes), get_debug_type($key)), $key, $builtinTypes, $path, true);
     123    }
    105124}
  • cartboss/trunk/vendor/symfony/serializer/Normalizer/BackedEnumNormalizer.php

    r2901887 r2959706  
    6565            return $type::from($data);
    6666        } catch (\ValueError $e) {
    67             throw new InvalidArgumentException('The data must belong to a backed enumeration of type '.$type);
     67            if (isset($context['has_constructor'])) {
     68                throw new InvalidArgumentException('The data must belong to a backed enumeration of type '.$type);
     69            }
     70
     71            throw NotNormalizableValueException::createForUnexpectedDataType('The data must belong to a backed enumeration of type '.$type, $data, [$type], $context['deserialization_path'] ?? null, true, 0, $e);
    6872        }
    6973    }
  • cartboss/trunk/vendor/symfony/serializer/Normalizer/DateTimeNormalizer.php

    r2942443 r2959706  
    9292        $timezone = $this->getTimezone($context);
    9393
    94         if (null === $data || !\is_string($data) || '' === trim($data)) {
     94        if (\is_int($data) || \is_float($data)) {
     95            switch ($dateTimeFormat) {
     96                case 'U': $data = sprintf('%d', $data); break;
     97                case 'U.u': $data = sprintf('%.6F', $data); break;
     98            }
     99        }
     100
     101        if (!\is_string($data) || '' === trim($data)) {
    95102            throw NotNormalizableValueException::createForUnexpectedDataType('The data is either not an string, an empty string, or null; you should pass a string that can be parsed with the passed format or a valid DateTime string.', $data, [Type::BUILTIN_TYPE_STRING], $context['deserialization_path'] ?? null, true);
    96103        }
  • cartboss/trunk/vendor/symfony/serializer/Normalizer/MimeMessageNormalizer.php

    r2806369 r2959706  
    9494            $type = $data['class'];
    9595            unset($data['class']);
     96            $data['headers'] = $this->serializer->denormalize($data['headers'], Headers::class, $format, $context);
    9697        }
    9798
  • cartboss/trunk/vendor/symfony/serializer/composer.json

    r2942443 r2959706  
    3535        "symfony/mime": "^4.4|^5.0|^6.0",
    3636        "symfony/property-access": "^5.4|^6.0",
    37         "symfony/property-info": "^5.3.13|^6.0",
     37        "symfony/property-info": "^5.4.24|^6.2.11",
    3838        "symfony/uid": "^5.3|^6.0",
    3939        "symfony/validator": "^4.4|^5.0|^6.0",
     
    4848        "symfony/dependency-injection": "<4.4",
    4949        "symfony/property-access": "<5.4",
    50         "symfony/property-info": "<5.3.13",
     50        "symfony/property-info": "<5.4.24|>=6,<6.2.11",
    5151        "symfony/uid": "<5.3",
    5252        "symfony/yaml": "<4.4"
  • cartboss/trunk/vendor/symfony/string/Inflector/EnglishInflector.php

    r2942443 r2959706  
    9595        ['sess', 4, true, false, 'ss'],
    9696
     97        // statuses (status)
     98        ['sesutats', 8, true, true, 'status'],
     99
    97100        // analyses (analysis), ellipses (ellipsis), fungi (fungus),
    98101        // neuroses (neurosis), theses (thesis), emphases (emphasis),
     
    138141        // shoes (shoe)
    139142        ['se', 2, true, true, ['', 'e']],
     143
     144         // status (status)
     145        ['sutats', 6, true, true, 'status'],
    140146
    141147        // tags (tag)
     
    280286        ['suc', 3, true, true, 'cuses'],
    281287
     288        // status (status)
     289        ['sutats', 6, true, true, ['status', 'statuses']],
     290
    282291        // conspectuses (conspectus), prospectuses (prospectus)
    283292        ['sutcep', 6, true, true, 'pectuses'],
Note: See TracChangeset for help on using the changeset viewer.