♥14steve14 Posted September 21, 2016 Share Posted September 21, 2016 Is anyone aware of a ticket/help/support system that will work with oscommerce. It would be good if it would work with the latest BS version. I get several questions asked about products or the service we offer, and would like a way to keep them all in one place. Currently this is all done through the contact us form and email replies but nothing is stored or kept by the website. It means I have to trawl through many emails to find things about questions. It may also help the customer keep track of their questions and the answers they receive. REMEMBER BACKUP, BACKUP AND BACKUP Link to comment Share on other sites More sharing options...
burt Posted September 21, 2016 Share Posted September 21, 2016 I did a little FAQ thing in the 29DoC. It's product based (ie, each product has it's own little FAQ). Demo: http://seen-online.co.uk/checkout/product_info.php?products_id=28 If it's something that might do the job, PM me for a copy. Link to comment Share on other sites More sharing options...
Mort-lemur Posted September 21, 2016 Share Posted September 21, 2016 Some interesting looking OS ones here: http://www.opensourcehunter.com/2010/03/12/9-free-open-source-ticket-sytems/ Now running on a fully modded, Mobile Friendly 2.3.4 Store with the Excellent MTS installed - See my profile for the mods installed ..... So much thanks for all the help given along the way by forum members. Link to comment Share on other sites More sharing options...
Dan Cole Posted September 22, 2016 Share Posted September 22, 2016 @@14steve14 Agreed...having an integrated Ticket/Support system would be an awesome and very useful addition. Dan Need help? See this thread and provide the information requested. Is your version of osC up to date? You'll find the latest osC community version (CE Phoenix) here. Link to comment Share on other sites More sharing options...
♥14steve14 Posted September 22, 2016 Author Share Posted September 22, 2016 I am surprised that no one has ever done this before. It would be nice to have it integrated, but if I have to a separate setup would be better than nothing. Will have to do a bit more digging. REMEMBER BACKUP, BACKUP AND BACKUP Link to comment Share on other sites More sharing options...
Dan Cole Posted September 22, 2016 Share Posted September 22, 2016 @@14steve14 I'm keenly interested Steve and if we can find one that is written in php and that uses MySQL it would nice to integrate some aspects of it with the shop...I think that adding Order Status updates would be extremely useful. I know that Cord (Mailbeez) has a module for this but I never did look at it closely. Dan Need help? See this thread and provide the information requested. Is your version of osC up to date? You'll find the latest osC community version (CE Phoenix) here. Link to comment Share on other sites More sharing options...
♥toyicebear Posted September 23, 2016 Share Posted September 23, 2016 There is an old add-on for 2.2, http://addons.oscommerce.com/info/1230 , it could be upgraded to work with BS Basics for osC 2.2 Design - Basics for Design V2.3+ - Seo & Sef Url's - Meta Tags for Your osC Shop - Steps to prevent Fraud... - MS3 and Team News... - SEO, Meta Tags, SEF Urls and osCommerce - Commercial Support Inquiries - OSC 2.3+ How To To see what more i can do for you check out my profile [click here] Link to comment Share on other sites More sharing options...
frankl Posted September 29, 2016 Share Posted September 29, 2016 @@14steve14 @@burt @@Mort-lemur @@Dan Cole @@toyicebear In the spirit of http://www.oscommerce.com/forums/topic/410107-what-is-the-biggest-default-less-of-oscommerce/page-2#entry1747860 ("if every shopowner using Responsive took care of 1 addon each and coded (or got it coded) properly, that would be hundreds of addons ready for use...in super quick time."), I updated http://addons.oscommerce.com/info/1230 for Edge - changed $HTTP_GET_VARS to $_GET - changed $HTTP_POST_VARS to $_POST - hardcoded filenames - hardcoded table names - converted front end files to bootstrap - converted admin files to current template - removed ticket_application_top.php and integrated into main code - removed ticket_configure.php and added to store configuration To test: Upload all files (will not overwrite anything) to store Add defines to admin/languages/english.php define ('BOX_HEADING_TICKET','Support Tickets'); define ('BOX_TICKET_VIEW','Tickets'); define ('BOX_TEXT_ADMIN','Admins'); define ('BOX_TEXT_DEPARTMENT','Departments'); define ('BOX_TEXT_PRIORITY','Priorities'); define ('BOX_TEXT_REPLY','Replys'); define ('BOX_TEXT_STATUS','Status'); run ticket.sql Turn on box module in your store Configure through Configuration -> Support Ticket Settings Still some minor changes to be made but please let me know any errors etc. osCommerce user since 2003! Link to comment Share on other sites More sharing options...
frankl Posted September 29, 2016 Share Posted September 29, 2016 Oh, and no core changes apart from the language defines! osCommerce user since 2003! Link to comment Share on other sites More sharing options...
ecommunlimited Posted September 29, 2016 Share Posted September 29, 2016 Hello @@burt could I get a copy of that as well? http://seen-online.c...?products_id=28 Link to comment Share on other sites More sharing options...
♥14steve14 Posted September 29, 2016 Author Share Posted September 29, 2016 @@14steve14 @@burt @@Mort-lemur @@Dan Cole @@toyicebear In the spirit of http://www.oscommerce.com/forums/topic/410107-what-is-the-biggest-default-less-of-oscommerce/page-2#entry1747860 ("if every shopowner using Responsive took care of 1 addon each and coded (or got it coded) properly, that would be hundreds of addons ready for use...in super quick time."), I updated http://addons.oscommerce.com/info/1230 for Edge - changed $HTTP_GET_VARS to $_GET - changed $HTTP_POST_VARS to $_POST - hardcoded filenames - hardcoded table names - converted front end files to bootstrap - converted admin files to current template - removed ticket_application_top.php and integrated into main code - removed ticket_configure.php and added to store configuration To test: Upload all files (will not overwrite anything) to store Add defines to admin/languages/english.php define ('BOX_HEADING_TICKET','Support Tickets'); define ('BOX_TICKET_VIEW','Tickets'); define ('BOX_TEXT_ADMIN','Admins'); define ('BOX_TEXT_DEPARTMENT','Departments'); define ('BOX_TEXT_PRIORITY','Priorities'); define ('BOX_TEXT_REPLY','Replys'); define ('BOX_TEXT_STATUS','Status'); run ticket.sql Turn on box module in your store Configure through Configuration -> Support Ticket Settings Still some minor changes to be made but please let me know any errors etc. Oh, and no core changes apart from the language defines! Where are the files. I cant seem to find them. REMEMBER BACKUP, BACKUP AND BACKUP Link to comment Share on other sites More sharing options...
burt Posted September 29, 2016 Share Posted September 29, 2016 Add defines to admin/languages/english.php define ('BOX_HEADING_TICKET','Support Tickets'); define ('BOX_TICKET_VIEW','Tickets'); define ('BOX_TEXT_ADMIN','Admins'); define ('BOX_TEXT_DEPARTMENT','Departments'); define ('BOX_TEXT_PRIORITY','Priorities'); define ('BOX_TEXT_REPLY','Replys'); define ('BOX_TEXT_STATUS','Status'); Here's a solution that solves this piece of core code change. I'm assuming you've made a box called tickets and it is in the admin/includes/boxes/ directory. Make a language file for that box which contains what I've quoted and upload that language file into admin/includes/languages/english/boxes/ - ensuring both the box file and its language file have the same name... You can now remove the quoted piece above from the main english file and all is still working :) Link to comment Share on other sites More sharing options...
♥14steve14 Posted September 29, 2016 Author Share Posted September 29, 2016 @@14steve14 I'm keenly interested Steve and if we can find one that is written in php and that uses MySQL it would nice to integrate some aspects of it with the shop...I think that adding Order Status updates would be extremely useful. I know that Cord (Mailbeez) has a module for this but I never did look at it closely. Dan Dan I have been looking into this a bit more and was looking at my hosting accounts softilicious setup and there seems to be many open source ticket systems available. Some of them are php based and use mysql as far as I can see. I was looking at 'maian support'. I have downloaded the package and will look to see what it looks like and whether I feel that I could make it work within oscommerce. REMEMBER BACKUP, BACKUP AND BACKUP Link to comment Share on other sites More sharing options...
Dan Cole Posted September 29, 2016 Share Posted September 29, 2016 @@14steve14 Let's have a look at what @@frankl pulled together and go from there....it would be nice to have something that we can tightly integrate with osC. Dan Need help? See this thread and provide the information requested. Is your version of osC up to date? You'll find the latest osC community version (CE Phoenix) here. Link to comment Share on other sites More sharing options...
frankl Posted September 29, 2016 Share Posted September 29, 2016 Here's a solution that solves this piece of core code change. I'm assuming you've made a box called tickets and it is in the admin/includes/boxes/ directory. Make a language file for that box which contains what I've quoted and upload that language file into admin/includes/languages/english/boxes/ - ensuring both the box file and its language file have the same name... You can now remove the quoted piece above from the main english file and all is still working :) Thanks @@burt, english file actually goes in admin/includes/languages/english/modules/boxes/ but I'm sure that's just a typo. That worked like a charm! Apologies to everyone, I didn't check to see if the zip file had uploaded correctly :blush: I have attached it to this post. To test: Upload all files (will not overwrite anything) to store run ticket.sql Turn on box module in your store Configure through Configuration -> Support Ticket Settings Still some minor changes to be made but please let me know any errors etc. osCommerce user since 2003! Link to comment Share on other sites More sharing options...
frankl Posted September 29, 2016 Share Posted September 29, 2016 Please change line 107 in catalog/ticket_create.php from $time = mktime(); to $time = time(); osCommerce user since 2003! Link to comment Share on other sites More sharing options...
ArtcoInc Posted September 29, 2016 Share Posted September 29, 2016 @@frankl To test: Upload all files (will not overwrite anything) to store run ticket.sql Turn on box module in your store Configure through Configuration -> Support Ticket Settings Are you aware that you can include the creation of the database tables in the module itself, and not have to run the .sql file manually? Here's an example of (part of) a module I worked on that includes the creation of the tables when installing, and the deleting of the tables when un-installing: function install() { tep_db_query("CREATE TABLE IF NOT EXISTS latest_news (news_id int(11) NOT NULL auto_increment, date_added datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, status int(1) DEFAULT '0' NOT NULL, important int(1) DEFAULT '0', PRIMARY KEY (news_id))"); tep_db_query("CREATE TABLE IF NOT EXISTS latest_news_content (news_id int(11) NOT NULL,language_id int(11) NOT NULL, headline varchar(255) NOT NULL,content text NOT NULL, PRIMARY KEY (news_id))"); tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_BOXES_LATEST_NEWS_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '1', now())"); tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Latest News Module', 'MODULE_BOXES_LATEST_NEWS_STATUS', 'True', 'Do you want to enable the Latest News module?', '6', '1', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Content Placement', 'MODULE_BOXES_LATEST_NEWS_CONTENT_PLACEMENT', 'Right Column', 'Should the module be loaded in the left or right column?', '6', '1', 'tep_cfg_select_option(array(\'Left Column\', \'Right Column\'), ', now())"); tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Delete the database tables when removing this module', 'MODULE_BOXES_LATEST_NEWS_DELETE_TABLES', 'False', 'Do you want to delete the tables that were created by this module?<br><i>Note: All created data will be deleted!</i>', '6', '1', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, date_added) values ('Box Height','MODULE_BOXES_LATEST_NEWS_HEIGHT',200,'Height of the box displayed in the store (px)',6, now())"); tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, date_added) values ('Scroll Delay','MODULE_BOXES_LATEST_NEWS_SCROLLDELAY',250,'Delay when scrolling, in milliseconds. The larger the number, the slower the scroll',6, now())"); tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('On which pages to display the Latest News', 'MODULE_BOXES_LATEST_NEWS_PAGES', 'All', 'On which pages do you want the Latest News to display?', '6', '1', 'tep_cfg_select_option(array(\'All\', \'Home page only\'), ', now())"); } function remove() { tep_db_query("delete from configuration where configuration_key in ('" . implode("', '", $this->keys()) . "')"); if($this->delete_tables) { tep_db_query("drop table if exists latest_news"); tep_db_query("drop table if exists latest_news_content"); } } Malcolm Link to comment Share on other sites More sharing options...
frankl Posted September 29, 2016 Share Posted September 29, 2016 @@ArtcoInc Thanks Malcolm! I know about that, but only the box is a module, so I'm not sure if it would be best practice to have it in there? Would it be better to have a "setup" page where sql is installed at the press of a button? I'm also wary of dropping tables without checking to make sure that's what the store owner wants to do, in another module I wrote I have included the option to drop tables or to keep all the data. osCommerce user since 2003! Link to comment Share on other sites More sharing options...
ArtcoInc Posted September 29, 2016 Share Posted September 29, 2016 @@frankl I'm also wary of dropping tables without checking to make sure that's what the store owner wants to do, in another module I wrote I have included the option to drop tables or to keep all the data. I've done that too. In fact, you can see in the above example where it tests to see if you want to delete the tables when you un-install the module. Malcolm Link to comment Share on other sites More sharing options...
frankl Posted September 30, 2016 Share Posted September 30, 2016 I'm useless. More sql entries need to be added for the admin pages to work correctly :) INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('Minimum Reply Length', 'TICKET_ENTRIES_MIN_LENGTH', '5', 'When you reply this is the minimum number of characters you can use.', '8288', '9', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('Ticket Admin Name', 'TICKET_ADMIN_NAME', 'Admin', 'The name of the admin', '8288', '10', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Admin use status?', 'TICKET_USE_STATUS', 'true', 'Allow admin to change status of ticket?', '8288', '11', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Admin use department?', 'TICKET_USE_DEPARTMENT', 'true', 'Allow admin to change department of ticket?', '8288', '12', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Admin use priority?', 'TICKET_USE_PRIORITY', 'true', 'Allow admin to change priority of ticket?', '8288', '13', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Admin use order IDs?', 'TICKET_USE_ORDER_IDS', 'true', 'Allow admin to use and/or change order IDs for tickets?', '8288', '14', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Admin use subject?', 'TICKET_USE_SUBJECT', 'true', 'Allow admin to use and/or change subject for tickets?', '8288', '15', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Admin - customer login requirement', 'TICKET_CHANGE_CUSTOMER_LOGIN_REQUIREMENT', 'true', 'Change the use of TICKET_CUSTOMER_LOGIN_REQUIREMENT_DEFAULT per ticket via admin. If you set this to true you can allow / notallow registered customers to view tickets without being logged in', '8288', '16', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now()); osCommerce user since 2003! Link to comment Share on other sites More sharing options...
Dan Cole Posted September 30, 2016 Share Posted September 30, 2016 @@frankl Frank when you're happy with it let me know and I'll install and test it for you, if you like. Dan Need help? See this thread and provide the information requested. Is your version of osC up to date? You'll find the latest osC community version (CE Phoenix) here. Link to comment Share on other sites More sharing options...
frankl Posted September 30, 2016 Share Posted September 30, 2016 @@Dan Cole Thanks Dan, it's good to go now. Just upload the files, import the sql file, then change line 107 in catalog/ticket_create.php from $time = mktime(); to $time = time(); and add the new sql INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('Minimum Reply Length', 'TICKET_ENTRIES_MIN_LENGTH', '5', 'When you reply this is the minimum number of characters you can use.', '8288', '9', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('Ticket Admin Name', 'TICKET_ADMIN_NAME', 'Admin', 'The name of the admin', '8288', '10', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Admin use status?', 'TICKET_USE_STATUS', 'true', 'Allow admin to change status of ticket?', '8288', '11', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Admin use department?', 'TICKET_USE_DEPARTMENT', 'true', 'Allow admin to change department of ticket?', '8288', '12', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Admin use priority?', 'TICKET_USE_PRIORITY', 'true', 'Allow admin to change priority of ticket?', '8288', '13', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Admin use order IDs?', 'TICKET_USE_ORDER_IDS', 'true', 'Allow admin to use and/or change order IDs for tickets?', '8288', '14', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Admin use subject?', 'TICKET_USE_SUBJECT', 'true', 'Allow admin to use and/or change subject for tickets?', '8288', '15', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now());INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Admin - customer login requirement', 'TICKET_CHANGE_CUSTOMER_LOGIN_REQUIREMENT', 'true', 'Change the use of TICKET_CUSTOMER_LOGIN_REQUIREMENT_DEFAULT per ticket via admin. If you set this to true you can allow / notallow registered customers to view tickets without being logged in', '8288', '16', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now()); I've tested it in the newest edge (downloaded today). Although it works fine for me I'd appreciate someone else testing it! osCommerce user since 2003! Link to comment Share on other sites More sharing options...
ecommunlimited Posted September 30, 2016 Share Posted September 30, 2016 Very nice Frank! It works great! I installed it and played around with it and only had one error pop up. It's this: Warning: Illegal string offset 'username' in /home/xxxxxx/public_html/name-of-my-admin/includes/header.php on line 49. This is line 49 in my name-of-my-admin/includes/header.php: <td class="headerBarContent" align="right"><?php echo (tep_session_is_registered('admin') ? 'Logged in as: ' . $admin['username'] . ' (<a href="' . tep_href_link(FILENAME_LOGIN, 'action=logoff') . '" class="headerLink">Logoff</a>)' : ''); ?> </td> Also, at the bottom of name-of-my-admin/ticket_view.php it say: "Customer must not be logged in to view the ticket". I was able to view the exchange on my site without being logged in. Could that have caused that error? If so, how do I correct that? Thank you very much for this add-on, I truly appreciate it and all of your effort. Bill Link to comment Share on other sites More sharing options...
frankl Posted September 30, 2016 Share Posted September 30, 2016 @@ecommunlimited and others, my apologies but I'm leaving shortly for a few days off, it's a long weekend here, I will be back on (my) Tuesday. I installed it and played around with it and only had one error pop up. It's this: Warning: Illegal string offset 'username' in /home/xxxxxx/public_html/name-of-my-admin/includes/header.php on line 49. On every page of admin, or just one of the ticket admin pages? Possibly it is the setting Configuration -> Support Ticket Settings -> Ticket Admin Name (TBH, don't even know what that's for!), change that from 'Admin' to something else. Also, at the bottom of name-of-my-admin/ticket_view.php it say: "Customer must not be logged in to view the ticket". I was able to view the exchange on my site without being logged in. Could that have caused that error? If so, how do I correct that? Did you install the additional sql above? That should be a drop down menu with a choice of 'Customer must not be logged in to view the ticket' or 'Customer must be logged in to view the ticket'. Also check in database table ticket_ticket, does that ticket have a value of '1' in column ticket_login_required? osCommerce user since 2003! Link to comment Share on other sites More sharing options...
frankl Posted September 30, 2016 Share Posted September 30, 2016 I was able to view the exchange on my site without being logged in. That may happen if you are customer number one on your test site. If so, change line 187 in catalog/ticket_view.php from if ($ticket['ticket_customers_id'] > 1 && $ticket['ticket_login_required']=='1' && !tep_session_is_registered('customer_id') ) { to if ($ticket['ticket_customers_id'] > 0 && $ticket['ticket_login_required']=='1' && !tep_session_is_registered('customer_id') ) { osCommerce user since 2003! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.