Jump to content

Gyakutsuki

♥Ambassador
  • Content count

    802
  • Joined

  • Last visited

  • Days Won

    22

Everything posted by Gyakutsuki

  1. Hello Harald,
    Is it possible to add on the forum a link in the header for the contribution (https://apps.oscommerce.com). because in this moment, eveytime we must search this page.
    Tk

  2. Gyakutsuki

    [CONTRIBUTION] Sloppy Words Cleaner

    Do you know this ? https://github.com/cocur/slugify it's not the same result ? (not sur tell me)
  3. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    I uploaded a new version Api updated included a timeout and subscribe.php I tested and works for me. http://addons.oscommerce.com/info/9289 Could you test also on your website. Thank you.
  4. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    I tested the latest and 2.02; it seems does'nt work for me. Also, I noted a difference if the site is in SSL or Not. SSL certificate seems important to send the information What is you consol resonse ? looking the consol response than I have : type"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/" title"Invalid Resource" status 400 detail"The resource submitted could not be validated. For field-specific details, see the 'errors' array." instance"" errors [2]0 Object field""message"Required fields were not provided: email_address" 1Object field"email_address" message"Schema describes string, NULL found instead" {"type":"http:\/\/developer.mailchimp.com\/documentation\/mailchimp\/guides\/error-glossary\/","title":"Invalid Resource","status":400,"detail":"The resource submitted could not be validated. For field-specific details, see the 'errors' array.","instance":"","errors":[{"field":"","message":"Required fields were not provided: email_address"},{"field":"email_address","message":"Schema describes string, NULL found instead"}]}
  5. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    I am looking also, the status is always at 200 same if there is an error, must be 400.
  6. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    if there is an ajax specialist on the forum it can answer you. But I think there is a specific pb. The message appear only when you click on the button and diseappear after the page is refresh. Also if you click too many time with the email address, mailchimp block the email. Don't use the debug tool in production because it's possible to see all your informations mailchimp.
  7. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    The system use an ajax and you will have a message after clic on the button. No page refresh with this integration.
  8. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    · Integrated the js into the header tag module for easier language localization. · Changed hardcoded messages to language constants · Added language definitions for messages · Added spanish and German translations · Moved “firstname” before “last name” following osc standards Tk raiwa to your sugestions.
  9. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    Yes you have right. I am too fast maybe too speed good lesson. 2.3 does nt work on my server and don t take for a manual installation. Code from scrash just by editor no good to see result and error. It will be my last addon on 2.3 Sorry guy.
  10. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    @ecommunlimited I understand your frustration, but it's a development with some test and update. Also, I understand your knowledge are basic, but some people are like you since Oscommerce exist and some people acquire knowledge because Osc is simple to understand and work to understand. C'est en forgeant que l'on devient forgeron :) That's why the community is make to share and help. The latest must be the good ( I hope) :).
  11. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    @@raiwa @ecommunlimited I saw an a bug when you are in anonymous mode, I downloaded an update. I think now it's ok. http://addons.oscommerce.com/info/9289 In your console mode, (mode debuf), you must to see this result. if you see his element, it' ok otherwise, you will have an error. note : don't try lot of time with the same email, because, after 3-5 times your email is blocked par mailchimp. array(19) { ["id"]=> string(32) "******" ["email_address"]=> string(21) "*******" ["unique_email_id"]=> string(10) "**********" ["email_type"]=> string(4) "html" ["status"]=> string(10) "subscribed" ["merge_fields"]=> array(2) { ["FNAME"]=> string(0) "" ["LNAME"]=> string(0) "" } ["stats"]=> array(2) { ["avg_open_rate"]=> int(0) ["avg_click_rate"]=> int(0) } ["ip_signup"]=> string(0) "" ["timestamp_signup"]=> string(0) "" ["ip_opt"]=> string(12) "***IP********" ["timestamp_opt"]=> string(25) "2016-12-08T22:44:21+00:00" ["member_rating"]=> int(2) ["last_changed"]=> string(25) "2016-12-08T22:44:21+00:00" ["language"]=> string(0) "" ["vip"]=> bool(false) ["email_client"]=> string(0) "" ["location"]=> array(6) { ["latitude"]=> int(0) ["longitude"]=> int(0) ["gmtoff"]=> int(0) ["dstoff"]=> int(0) ["country_code"]=> string(0) "" ["timezone"]=> string(0) "" } ["list_id"]=> string(10) "***********" ["_links"]=> array(8) { [0]=> array(4) { ["rel"]=> string(4) "self" ["href"]=> string(92) "https://us10.api.mailchimp.com/3.0/lists/89af30fc9f/members/*********" ["method"]=> string(3) "GET" ["targetSchema"]=> string(81) "https://us10.api.mailchimp.com/schema/3.0/Definitions/Lists/Members/Response.json" } [1]=> array(5) { ["rel"]=> string(6) "parent" ["href"]=> string(59) "https://us10.api.mailchimp.com/3.0/lists//*********"/members" ["method"]=> string(3) "GET" ["targetSchema"]=> string(91) "https://us10.api.mailchimp.com/schema/3.0/Definitions/Lists/Members/CollectionResponse.json" ["schema"]=> string(76) "https://us10.api.mailchimp.com/schema/3.0/CollectionLinks/Lists/Members.json" } [2]=> array(5) { ["rel"]=> string(6) "update" ["href"]=> string(92) "https://us10.api.mailchimp.com/3.0/lists/89af30fc9f/members//*********" ["method"]=> string(5) "PATCH" ["targetSchema"]=> string(81) "https://us10.api.mailchimp.com/schema/3.0/Definitions/Lists/Members/Response.json" ["schema"]=> string(78) "https://us10.api.mailchimp.com/schema/3.0/Definitions/Lists/Members/PATCH.json" } [3]=> array(5) { ["rel"]=> string(6) "upsert" ["href"]=> string(92) "https://us10.api.mailchimp.com/3.0/lists/*********/members/*********" ["method"]=> string(3) "PUT" ["targetSchema"]=> string(81) "https://us10.api.mailchimp.com/schema/3.0/Definitions/Lists/Members/Response.json" ["schema"]=> string(76) "https://us10.api.mailchimp.com/schema/3.0/Definitions/Lists/Members/PUT.json" } [4]=> array(3) { ["rel"]=> string(6) "delete" ["href"]=> string(92) "https://us10.api.mailchimp.com/3.0/lists/89af30fc9f/members/*********" ["method"]=> string(6) "DELETE" } [5]=> array(4) { ["rel"]=> string(8) "activity" ["href"]=> string(101) "https://us10.api.mailchimp.com/3.0/lists/*********/members/*********/activity" ["method"]=> string(3) "GET" ["targetSchema"]=> string(90) "https://us10.api.mailchimp.com/schema/3.0/Definitions/Lists/Members/Activity/Response.json" } [6]=> array(4) { ["rel"]=> string(5) "goals" ["href"]=> string(98) "https://us10.api.mailchimp.com/3.0/lists/*********/members/*********/goals" ["method"]=> string(3) "GET" ["targetSchema"]=> string(87) "https://us10.api.mailchimp.com/schema/3.0/Definitions/Lists/Members/Goals/Response.json" } [7]=> array(4) { ["rel"]=> string(5) "notes" ["href"]=> string(98) "https://us10.api.mailchimp.com/3.0/lists/*********/members/*********/notes" ["method"]=> string(3) "GET" ["targetSchema"]=> string(97) "https://us10.api.mailchimp.com/schema/3.0/Definitions/Lists/Members/Notes/CollectionResponse.json" } } }
  12. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    yes, you must see subscribe success message, do you see in mailchimp your subscription Enable the debug and go to the console to see the message.
  13. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    Oups, bad born !!! Change, Tk Rainer
  14. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    Try le latest (1.8) but this is a simple add on and I haven't compatibility problem.
  15. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    hello, Mailchimp based on api v3. Some people ask to create a topic about this contribution The v 1.8 change a little bit, disable the contribution and copy the files and enable ! Tk to @@raiwa for this comment. link to the addon : http://addons.oscommerce.com/info/9289
  16. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    sorry don't understand, no relation
  17. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    you can use the second, It seems to be at 100% yes add a col-sm-xx (xx is a number between and 12) for exemple : <div class="col-sm-8 ContentText footer_mailchimp">
  18. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    you have a problem with this : <script data-rocketsrc="ext/api/mailchimp_v3/mailchimp_v3.js" type="text/rocketscript"> </script> and must to be <script src="ext/api/mailchimp_v3/mailchimp_v3.j"> </script> please activate the debug, I can see the result
  19. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    You must to update the html content in function your needs In includes/modules/content/footer/template you find this : maybe not updated for BS <div class="clearfix"></div> <div class="ContentText footer_mailchimp"> <div class="row col-md-12"> <div class="col-md-3"></div> <div class="col-md-2"><h4><?php echo MODULE_FOOTER_MAILCHIMP_TEXT; ?></h4></div> <div class="col-md-3"> <?php echo $form; if (!empty(MODULES_HEADER_TAGS_MAILCHIMP_LIST_CUSTOMERS)) { echo tep_draw_input_field('lastname', NULL, 'class="form-control" required aria-required="true" required="" id="lname" placeholder="' . ENTRY_LAST_NAME . '"'); echo tep_draw_input_field('firstname', NULL, 'class="form-control" required aria-required="true" required="" id="fname" placeholder="' . ENTRY_FIRST_NAME . '"'); echo tep_draw_input_field('email', NULL, 'required id="email" placeholder="' . ENTRY_EMAIL_ADDRESS . '"', 'email'); echo tep_draw_button(MODULE_FOOTER_MAILCHIMP_SUBMIT, null, null, 'success','id="SendButton','xs') } elseif (!empty(MODULES_HEADER_TAGS_MAILCHIMP_LIST_ANONYMOUS)) { echo tep_draw_input_field('email', NULL, 'required id="email" placeholder="' . ENTRY_EMAIL_ADDRESS . '"', 'email'); echo tep_draw_button(MODULE_FOOTER_MAILCHIMP_SUBMIT, null, null, 'success','id="SendButton','xs') . tep_draw_hidden_field('anonymous', 'anonymous'); } echo $endform; ?> </div> <div><span class="message" id="message"><span></div> </div> </div> try this : <div class="clearfix"></div> <div class="ContentText footer_mailchimp"> <div><h4><?php echo MODULE_FOOTER_MAILCHIMP_TEXT; ?></h4></div> <?php echo $form; if (!empty(MODULES_HEADER_TAGS_MAILCHIMP_LIST_CUSTOMERS)) { echo tep_draw_input_field('lastname', NULL, 'class="form-control" required aria-required="true" required="" id="lname" placeholder="' . ENTRY_LAST_NAME . '"') . ' '; echo tep_draw_input_field('firstname', NULL, 'class="form-control" required aria-required="true" required="" id="fname" placeholder="' . ENTRY_FIRST_NAME . '"'). ' '; echo tep_draw_input_field('email', NULL, 'required id="email" placeholder="' . ENTRY_EMAIL_ADDRESS . '"', 'email'). ' '; echo tep_draw_button(MODULE_FOOTER_MAILCHIMP_SUBMIT, null, null, 'success','id="SendButton','xs'). ' '; } elseif (!empty(MODULES_HEADER_TAGS_MAILCHIMP_LIST_ANONYMOUS)) { echo tep_draw_input_field('email', NULL, 'required id="email" placeholder="' . ENTRY_EMAIL_ADDRESS . '"', 'email'). ' '; echo tep_draw_button(MODULE_FOOTER_MAILCHIMP_SUBMIT, null, null, 'success','id="SendButton','xs') . tep_draw_hidden_field('anonymous', 'anonymous'); } echo $endform; ?> <div><span class="message" id="message"><span></div> </div> </div>
  20. Gyakutsuki

    Mailchimp newsletter Everywhere add on

    You must to adjust the html page of the module to your website.
  21. It can do that. First it force the devise because it identfy the ip and your configuration. After if you display the currency box, the customer can change. Do not test exactly; I will try.
  22. Hi guy, There my code that I write, the pb this code is made for the next release 2.4 and not 2.3. I have no time to propose an update on the module than I make before. In this case, I can propose you the module for 2.4. It's very simple approach and you can update for the 2.3 easily. The approach is under hook but you can create another hook or class fir 2.3. It's your choice. To introduce the code, you need : Update the hook for 2.3 (call jus below) Update this function : getJsonCustomerData() about the cache Update the install db for 2.3 approach. change OSCOM::GetIpAddress() by the appropriate function osc 2.3 (tep_get_ip_address()) That's all I think. insertl the hook at the bottom of application_top.php (of course updated for 2.3) Registry::get('Hooks')->call('AllShop', 'CurrenciesGeolocalisation'); Hook system. class CurrenciesGeolocalisation { protected $spider_flag; public function __construct() { global $spider_flag; $this->UrlAPISSL = "https://ssl.geoplugin.net/json.gp?ip="; $this->SSLKey = CONFIGURATION_CURRENCIES_GEOLOCALISATION_SSLKEY; $this->UrlAPI = 'http://www.geoplugin.net/json.gp?ip='; $this->spiderFlag = $spider_flag; $this->ipCustomer = OSCOM::GetIpAddress(); } /* * indicate different informations on the customer * @[member=param] $localisation_array return an array on the localisation * @[member=access] public */ private function setUrlAPI() { if (!empty($this->SSLKey) && !is_null($this->SSLKey)) { $url = $this->UrlAPISSL . $this->ipCustomer . '&k=' . $this->SSLKey; } else { $url = $this->UrlAPI . $this->ipCustomer; } return $url; } //------------------------------------------------------ // Debug //------------------------------------------------------ /** * Display all git information inside a repository or sub directory * @[member=param] $result, repository to analyse * @[member=Return] $repo,values of array of all git information * @[member=access] public */ public function displayDataAPI() { $data = '<pre>' . print_r($this->setUrlAPI(), true) . '</pre>'; return $data; } /** * getJsonCustomerData * @[member=param] * @[member=Return] $result all data for customer identification and insert in cahce * @[member=access] private */ private function getJsonCustomerData() { $OSCOM_Cache = Registry::get('Cache'); $ip = str_replace('.', '_', $this->ipCustomer); if($OSCOM_Cache->read('geolocalisation-' . $ip, 60)) { $result = $OSCOM_Cache->getCache(); } else { $url = file_get_contents($this->setUrlAPI() ); //content of readme. $data = json_decode($url); $result = $OSCOM_Cache->write($data, 'geolocalisation-' . $ip); } return $result; } /** * getCustomerCountryCode * @[member=param] * @[member=Return] $country_code,code iso 2 of the country - FR * @[member=access] public */ public function getCustomerCountryCode() { $data = $this->getJsonCustomerData(); $country_code = $data->geoplugin_countryCode; return $country_code; } /** * getCustomerCountryName * @[member=param] * @[member=Return] $country_code, name of the country - FRANCE * @[member=access] public */ public function getCustomerCountryName() { $data = $this->getJsonCustomerData(); $country_code = $data->geoplugin_countryName; return $country_code; } /** * getCustomerRegionCode * @[member=param] * @[member=Return] $region_code, region of the country name - Jura * @[member=access] public */ public function getCustomerRegionCode() { $data = $this->getJsonCustomerData(); $region_code = $data->geoplugin_regionCode; return $region_code; } /** * getCustomerRegionName * @[member=param] * @[member=Return] $region, baem of region of the country name - Jura * @[member=access] public */ public function getCustomerRegionName() { $data = $this->getJsonCustomerData(); $region = $data->geoplugin_regionName; return $region; } /** * getCustomerContinent * @[member=param] * @[member=Return] $continent, conteninent of the country - NA / EU / AS ... * @[member=access] public */ public function getCustomerContinent() { $data = $this->getJsonCustomerData(); $continent = $data->geoplugin_continentCode; return $continent; } /* * Currency in function the localisation * @[member=param] $new_currency return the currency in function the localisation * @[member=access] public * osc_get_currencies_location */ public function GetCurrenciesLocation() { $country_code2 = $this->getCustomerCountryCode(); if ($this->getCustomerContinent() == 'NA') { if ($country_code2 == 'CA') { if (DEFAULT_CURRENCY != 'CAD') { $new_currency = 'CAD'; } else { $new_currency = DEFAULT_CURRENCY; } } elseif ($country_code2 == 'US') { if (DEFAULT_CURRENCY != 'USD') { $new_currency = 'USD'; } else { $new_currency = DEFAULT_CURRENCY; } } else { $new_currency = DEFAULT_CURRENCY; } } elseif ($this->getCustomerContinent() == 'EU') { if ($country_code2 == 'EU') { if (DEFAULT_CURRENCY != 'EUR') { $new_currency = 'EUR'; } else { $new_currency = DEFAULT_CURRENCY; } } else { $new_currency = DEFAULT_CURRENCY; } } else { $new_currency = DEFAULT_CURRENCY; } return $new_currency; } /* * Define currency in function the localisation * @[member=param] * @[member=Return] : false is nothing else return the currency * @[member=access] public * osc_get_currencies_location */ private function getCurrenciesByGeolocalization() { if (CONFIGURATION_CURRENCIES_GEOLOCALISATION == 'true') { $currencies_by_geolocalization = $this->GetCurrenciesLocation(); } else { $currencies_by_geolocalization = false; } return $currencies_by_geolocalization ; } /* * Install db if does'nt exist * @[member=param] * @[member=access] private * */ private function install() { $OSCOM_Db = Registry::get('Db'); $OSCOM_Language = Registry::get('Language'); if ($OSCOM_Language->getID() == 1) { $OSCOM_Db->save('configuration', [ 'configuration_title' => 'Souhaitez-vous afficher une devise automatique par défaut en fonction du continent ?', 'configuration_key' => 'CONFIGURATION_CURRENCIES_GEOLOCALISATION', 'configuration_value' => 'false', 'configuration_description' => 'En fonction de la provenance du client et de son continent, le tarif du produit prend par défaut la devise du continent du client.<br /><br /><u><strong>Note :</strong></u><br />- Les devises par défaut implémentées sont : USD, EUR, CAD <br />- Si le client provient d\'un autre continent, ce sera la devise par défaut qui s\'affichera.<br />- L\'ajustement automatique des devises en fonction de la langue ne fonctionne pas dans ce cas.<br />L\'analyse de l\'addresseIP du client est faite à partir de ce site : http://geoplugin.net.<br'>http://geoplugin.net.<br />Veuillez lire leurs instructions.<br /><br /><i>(Valeur True = Oui - Valeur False = Non)</i>', 'configuration_group_id' => '1', 'sort_order' => '9', 'set_function' => 'osc_cfg_set_boolean_value(array(\'true\', \'false\'))', 'date_added' => 'now()' ] ); $OSCOM_Db->save('configuration', [ 'configuration_title' => 'Souhaitez-vous indiquer la clef pour une certification SSL de géolocalisation en fonction de la devise automatique continent (non obligatoire) ?', 'configuration_key' => 'CONFIGURATION_CURRENCIES_GEOLOCALISATION_SSLKEY', 'configuration_value' => '', 'configuration_description' => 'Le site http://geoplugin.net peut vous fournir une clef qui vous permettra d\avoir une connexion sécurisée. Veuillez vous y référer pour plus d\'informations</i>', 'configuration_group_id' => '1', 'sort_order' => '9', 'set_function' => '', 'date_added' => 'now()' ] ); } else { $OSCOM_Db->save('configuration', [ 'configuration_title' => 'Do you want display an automatic default currency by continent ?', 'configuration_key' => 'CONFIGURATION_CURRENCIES_GEOLOCALISATION', 'configuration_value' => 'false', 'configuration_description' => 'Depending on the source of the client and the continent, the price is updated in function the customer continent.<br /><br /><u><strong>Note :</strong></u><br />- The default currency implemented are: USD, EUR, CAD <br />- If the customer comes from another continent, it will be the default currency that is displayed.<br />- The automatic adjustment of currencies depending the language does not work in this case.', 'configuration_group_id' => '1', 'sort_order' => '9', 'set_function' => 'osc_cfg_set_boolean_value(array(\'true\', \'false\'))', 'date_added' => 'now()' ] ); $OSCOM_Db->save('configuration', [ 'configuration_title' => 'Do you want insert a Key for SSL certification for your automatic currencies by continent (no mandatory) ?', 'configuration_key' => 'CONFIGURATION_CURRENCIES_GEOLOCALISATION_SSLKEY', 'configuration_value' => '', 'configuration_description' => 'The website http://geoplugin.net can propose you a SSL key for a secure connexion. Please go on website and see their documentation', 'configuration_group_id' => '1', 'sort_order' => '9', 'set_function' => '', 'date_added' => 'now()' ] ); } } public function execute() { if (!defined(CONFIGURATION_CURRENCIES_GEOLOCALISATION) == true || CONFIGURATION_CURRENCIES_GEOLOCALISATION == null || empty(CONFIGURATION_CURRENCIES_GEOLOCALISATION)) { $this->install(); } if ($this->spiderFlag === false) { if ($this->getCurrenciesByGeolocalization() != false) { $_SESSION['currency'] = $this->getCurrenciesByGeolocalization(); } return $_SESSION['currency']; } } }
  23. Gyakutsuki

    Automatic Currency adjustment by continent

    No it doesn' work because the site is down.
  24. A new contribution with a web service who adjust automaticly the currencies in function the country. If you default currency is CAD and your configuration has EUR, then the customer come from Europe see automaticly the EUR By default : All Europe : EUR North America : USD (United States) and CAD (Canada) Default : your default currency you can use the webservice until 100 000 resquest by day Let me know your experience. http://addons.oscommerce.com/info/8571
×