Add-Ons By Simtech Development: Birthday Present

Dear Friends,

The Birthday Present add-on is a good way to increase customer loyalty. You do not have to control the birthday campaign - the application automatically sends clients a notification about the gift on their birthdays. None of your customers will be ignored!

When the user registers at the online store, he adds his date of birth and the system marks the information on its calendar. The administrator specifies a gift for the user. It can be a discount on certain goods, a gift certificate, or a free product. On the specified date, the gift notification is sent to the customer via email. It is a simple way to congratulate your customers on their birthday!

Compatibility.

The add-on is compatible with CS-Cart and Multi-Vendor 4.9 and above.

User Guide
Learn more about the add-on in the User Guide.
Buy the add-on here!
I will be glad to answer all your questions about the add-on.
P.S. Join us on Facebook to have a chance to be the first to know about free solutions for your store and information about special promotions and discount promo codes.

This is a VERY nice, little but working addon.
In our mainstore we give customers a €5 discount on their birthday, and it is getting used by literally 500+ customers.
There is one major flaw. It doesn't lock the birthday field in the user profile.

What a customer can do is change their bdays up to a day every single day.

This is a VERY nice, little but working addon.
In our mainstore we give customers a €5 discount on their birthday, and it is getting used by literally 500+ customers.
There is one major flaw. It doesn't lock the birthday field in the user profile.

What a customer can do is change their bdays up to a day every single day.

Hello, Mambomedia!

Yes, but he can't use this promo every day! When the birthday promo is triggered for the customer for the first time and the customer places the order with such discount, this information is placed in the log table and this data will be used in the future as his birthday. He cannot change his date of birth there if he used this promo at least once.

We have an issue with this mod, we purchased it however it does not work. After research it before cs-cart v4.4 the birthday was saved in the ?:profile_fields not in the ?:users table.
We have upgraded to the latest ver 4.11+ but all the users birthdates are still saved in the profile fields. Can you update the addon to let carts owners select which field to use? Maybe in the settings so it can read both it use the profile and not the user table?
Maybe somthing like
in po file:

msgctxt “SettingsOptions::{mod_name}::custom_field”
msgid “Select which field to use for birthday”
msgstr “Select which field to use for birthday”

in the func.php
$db_field_selected = Tygh\Registry::get('addons.{mod_name}.custom_field');

if (empty($date_birth) && !isset($db_field_selected)) {
$date_birth = db_get_field(‘SELECT birthday FROM ?:users WHERE user_id = ?s’, $user_id);
}elseif (isset($db_field_selected)){
$date_birth = db_get_field(‘select value from ?:profile_fields_data where field_id = (select field_id from ?:profile_fields where field_name = ?s) and object_id = ?s’, $db_field_selected, $user_id)
}

We have an issue with this mod, we purchased it however it does not work. After research it before cs-cart v4.4 the birthday was saved in the ?:profile_fields not in the ?:users table.
We have upgraded to the latest ver 4.11+ but all the users birthdates are still saved in the profile fields. Can you update the addon to let carts owners select which field to use? Maybe in the settings so it can read both it use the profile and not the user table?
Maybe somthing like
in po file:

msgctxt “SettingsOptions::{mod_name}::custom_field”
msgid “Select which field to use for birthday”
msgstr “Select which field to use for birthday”

in the func.php
$db_field_selected = Tygh\Registry::get('addons.{mod_name}.custom_field');

if (empty($date_birth) && !isset($db_field_selected)) {
$date_birth = db_get_field(‘SELECT birthday FROM ?:users WHERE user_id = ?s’, $user_id);
}elseif (isset($db_field_selected)){
$date_birth = db_get_field(‘select value from ?:profile_fields_data where field_id = (select field_id from ?:profile_fields where field_name = ?s) and object_id = ?s’, $db_field_selected, $user_id)
}

Hello, Sublok! Could you please specify the add-on version you use? Why would you prefer using another table?

addon ver 4.5.0.5,
We dont *want* to use another table. For some reason our cart is adding the birthday on signup to the ?:profile_fields_data and not the user table. Do you know how to change that?

addon ver 4.5.0.5,
We dont *want* to use another table. For some reason our cart is adding the birthday on signup to the ?:profile_fields_data and not the user table. Do you know how to change that?

Please, let me check it and I will get back to you with the results.

addon ver 4.5.0.5,
We dont *want* to use another table. For some reason our cart is adding the birthday on signup to the ?:profile_fields_data and not the user table. Do you know how to change that?

As far as I can see, on the default installation, the structure in CS-Cart 4.4.0 is:

CREATE TABLE `cscart_users` (
  `user_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `status` char(1) NOT NULL DEFAULT 'A',
  `user_type` char(1) NOT NULL DEFAULT 'C',
  `user_login` varchar(255) NOT NULL DEFAULT '',
...
  `birthday` int(11) NOT NULL DEFAULT '0',
...
  PRIMARY KEY (`user_id`),
  KEY `user_login` (`user_login`),
  KEY `uname` (`firstname`,`lastname`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

and in 4.12.2.SP1 the structure is:

CREATE TABLE `cscart_users` (
  `user_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `status` char(1) NOT NULL DEFAULT 'A',
  `user_type` char(1) NOT NULL DEFAULT 'C',
  `user_login` varchar(255) NOT NULL DEFAULT '',
...
  `birthday` int(11) NOT NULL DEFAULT '0',
...
  PRIMARY KEY (`user_id`),
  KEY `user_login` (`user_login`),
  KEY `uname` (`firstname`,`lastname`),
  KEY `idx_email` (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Please, contact us in our HelpDesk for more detailed examination of the issue. Also, access to your server might be helpful.

I know that we see that column in the table, but when they sign up that information is not being stored in the users database! Maybe that was lost in translation.

As far as I can see, on the default installation, the structure in CS-Cart 4.4.0 is:

CREATE TABLE `cscart_users` (
  `user_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `status` char(1) NOT NULL DEFAULT 'A',
  `user_type` char(1) NOT NULL DEFAULT 'C',
  `user_login` varchar(255) NOT NULL DEFAULT '',
...
  `birthday` int(11) NOT NULL DEFAULT '0',
...
  PRIMARY KEY (`user_id`),
  KEY `user_login` (`user_login`),
  KEY `uname` (`firstname`,`lastname`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

and in 4.12.2.SP1 the structure is:

CREATE TABLE `cscart_users` (
  `user_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `status` char(1) NOT NULL DEFAULT 'A',
  `user_type` char(1) NOT NULL DEFAULT 'C',
  `user_login` varchar(255) NOT NULL DEFAULT '',
...
  `birthday` int(11) NOT NULL DEFAULT '0',
...
  PRIMARY KEY (`user_id`),
  KEY `user_login` (`user_login`),
  KEY `uname` (`firstname`,`lastname`),
  KEY `idx_email` (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Please, contact us in our HelpDesk for more detailed examination of the issue. Also, access to your server might be helpful.

I know that we see that column in the table, but when they sign up that information is not being stored in the users database! Maybe that was lost in translation.

Maybe :-) But it hard to say without detailed examination. Please, contact our tech support team.