Dan Cole Posted January 23, 2017 Share Posted January 23, 2017 This addon is designed to add small information modules to your 2.3+ administration dashboard.Four modules are included in the initial release.iBar New Customers Module - Compares the number of new customers for a specified period with the prior period.iBar New Orders Module - Compares the number of new orders for a specified period with the prior period.iBar Reviews Module - Alerts you to pending reviews.iBar Order Status Module - Allows you to monitor a particular order status.More modules and upgrades are planned for future releases.The development thread can be found here.A number of community members helped move the development along and in that regard I would like to express my appreciation and thanks to:Bill aka ecommunlimitedScott aka greasemonkeyOmar aka Omar_oneJuanma aka piernasCarine aka BruyndoncxThe iBar Dashboard Modules package will be posted in the addons area and the link to it will be posted here shortly.Dan Gyakutsuki, raiwa, frankl and 1 other 4 Quote 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...
Dan Cole Posted January 23, 2017 Author Share Posted January 23, 2017 The package has been uploaded and can be found here. Dan Quote 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...
Guest Posted January 26, 2017 Share Posted January 26, 2017 @@Dan Cole Hi Dan Just thought I'd give this addon a go and see what happens. One thing I noticed (probably due to something I haven't done) Is that where the "New customer last 30 days" If I click on the link it takes me to the custonmers.php page. I thought maybe it would take me to a page where I could see who the new customers were in the last 30 days. Maybe I have misunderstood. Looks great. Cheers Grandpa Quote Link to comment Share on other sites More sharing options...
Dan Cole Posted January 27, 2017 Author Share Posted January 27, 2017 (edited) Haven't done that yet John but I did something similar for the Order Status iBar....here is a zip file of that if you'd like to have a look. If something like that for the customer iBar would be worthwhile let me know and I'll add it to my today list. Keep in mind though that there is already a Stock Customer Dashboard that shows you the most recent 6 or 7 customers....maybe that should be reworked to add some of the flexibility that was build into the iBar Order Status Table module. Here you go... More Modules.zip Let me know what you think. At this point I consider it complete, subject to whatever issues might arise as folks test it. Dan Edited January 27, 2017 by Dan Cole Quote 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...
Guest Posted January 28, 2017 Share Posted January 28, 2017 @@Dan Cole Hi Dan Looks good although I'm not sure what to expect from it. As at the moment the the complete box is empty. Ive tried various settings in the admin to see what happens but so far nought. Maybe there's something I haven't done, even made a "dumby" order Look forward to your comments. Cheers John Quote Link to comment Share on other sites More sharing options...
Dan Cole Posted January 28, 2017 Author Share Posted January 28, 2017 Morning John....you'll definitely need some orders in order to see anything. As far as the settings are concerned, there are three you need to be concerned with...Order Status to Monitor27Skip Last # of Days3 DayMaximum # of Orders to Display5The Order Status to Monitor...enter the id for the orders you want to display on the list. If you are not sure what the number is, go to your Localization -> Orders Status tab. Click on the Status you want to monitor and then look at the URL in the browser location window. You'll see "oID=<number you want>" and enter that number in your order status module.Skip Last # of DaysI couldn't think of a better way to word it but let me give you the concept. The idea is that I just wanted to see the items that are x days old....in other words if they need my attention I want to see them. I don't want to see the ones from today or yesterday or perhaps even a few days before so the Skip Last # of Days is the setting for that. If I set it for 3 days it should just show me the items that are 4 days or older. Hopefully that makes sense. Maximum # of Orders to DisplayThis one is easy...how many orders do you want to display?Try those settings and make sure you have some orders with the Order Status you selected. Let me know how it goes. If I can be of any further help please let me know that also.Dan Quote 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...
Guest Posted January 29, 2017 Share Posted January 29, 2017 @@Dan Cole Hi Dan Now things make sense, and works well. Great explanation. Just wondering (remember I don't have a clue about coding) that maybe, could there be a drop down menu, or a wee explanation regarding Order status to monitor Well done Grandpa Quote Link to comment Share on other sites More sharing options...
Dan Cole Posted January 29, 2017 Author Share Posted January 29, 2017 @@grandpaj Good idea regarding the drop down list John and one I thought about when I was working on it. I opted not to do that since the number of order statuses that I had would make for a rather long list. If I dig into that module again I'll have another look at it since it could be very helpful. In the meantime hopefully my post will suffice. Dan Quote 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...
Dan Cole Posted March 5, 2017 Author Share Posted March 5, 2017 I've just added the first update for the iBar Modules. This update adds:1. A supporting Customer Table that is linked to from the iBar Customers Dashboard Module2. A new iBar Products Module3. A supporting Products Table that is linked to from the iBar Products Dashboard Module4. A supporting Orders Status Table that is linked to from the iBar Orders Status Dashboard ModuleAlong with several improvements and fixes to the original Dashboard Modules. To update your iBar modules simply upload the individuals files to the appropriate directories and then uninstall and reinstall any modules you'd like to update. For the new modules you simply need to install them. Also be sure to update/replace the iBar.css files since there have been several updates to that file. You'll find it here. http://addons.oscommerce.com/info/9545 If you have any questions or discover any issues please post here. Dan Quote 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...
♥mattjt83 Posted March 8, 2017 Share Posted March 8, 2017 @@Dan Cole Hi Dan, Gave this a shot today to check it out. I found an error in d_iBar_customer_table.php that causes a mySQL error. This: $customers_query = tep_db_query("select c.customers_id, c.customers_lastname, c.customers_firstname, ci.customers_info_date_account_created from " . TABLE_CUSTOMERS . " c, " . TABLE_CUSTOMERS_INFO . " ci where c.customers_id = ci.customers_info_id order by ci.customers_info_date_account_created desc limit " . MODULE_ADMIN_DASHBOARD_IBAR_ORDER_STATUS_TABLE_MAXIMUM . ""); Needs to be: $customers_query = tep_db_query("select c.customers_id, c.customers_lastname, c.customers_firstname, ci.customers_info_date_account_created from " . TABLE_CUSTOMERS . " c, " . TABLE_CUSTOMERS_INFO . " ci where c.customers_id = ci.customers_info_id order by ci.customers_info_date_account_created desc limit " . MODULE_ADMIN_DASHBOARD_IBAR_CUSTOMER_TABLE_MAXIMUM); Quote Matt Link to comment Share on other sites More sharing options...
Dan Cole Posted March 9, 2017 Author Share Posted March 9, 2017 @@mattjt83 That's interesting Matt...I assume it is a php or mySQL version issue since both your suggested change and my original code work fine on my set up. My server software is a bit on the old side so I'll use your code going forward, assuming it'll solve a problem I'll bump into sooner or later. Thanks for pointing it out. It might help others before I bump into it or release my next update. I appreciate it. Dan Quote 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...
♥mattjt83 Posted March 9, 2017 Share Posted March 9, 2017 @@Dan Cole The problem was that the constant was not defined. You might have MODULE_ADMIN_DASHBOARD_IBAR_ORDER_STATUS_TABLE_MAXIMUM defined somewhere else in your code and/or database though so it wasn't failing for you. Maybe it's used by one of the other modules in the iBar set? When you install this module from scratch though you add MODULE_ADMIN_DASHBOARD_IBAR_CUSTOMER_TABLE_MAXIMUM for that particular module and that's what the sql query needs to function properly. Quote Matt Link to comment Share on other sites More sharing options...
♥mattjt83 Posted March 9, 2017 Share Posted March 9, 2017 In general I like the look and idea of this addon. I'm not sure how I feel about how it looks on my setup since I did not alter my admin/index.php page besides to add the css/js code required. Also, I wondered if you meant for us to install all of the modules or were some of them optional? The reason being is that some of the modules have links in them which point to nothing if you don't install some of the table modules. Quote Matt Link to comment Share on other sites More sharing options...
Dan Cole Posted March 9, 2017 Author Share Posted March 9, 2017 @@Dan Cole The problem was that the constant was not defined. You might have MODULE_ADMIN_DASHBOARD_IBAR_ORDER_STATUS_TABLE_MAXIMUM defined somewhere else in your code and/or database though so it wasn't failing for you. Maybe it's used by one of the other modules in the iBar set? When you install this module from scratch though you add MODULE_ADMIN_DASHBOARD_IBAR_CUSTOMER_TABLE_MAXIMUM for that particular module and that's what the sql query needs to function properly. That makes more sense and I can see this issue...I'll fix it and put my query back....to me it is a bit more logical the way I had it. Thanks for the update. Dan Quote 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...
Dan Cole Posted March 9, 2017 Author Share Posted March 9, 2017 In general I like the look and idea of this addon. I'm not sure how I feel about how it looks on my setup since I did not alter my admin/index.php page besides to add the css/js code required. Also, I wondered if you meant for us to install all of the modules or were some of them optional? The reason being is that some of the modules have links in them which point to nothing if you don't install some of the table modules. Are you not loading Bootstrap? It'll probably look funny without it. Regarding the tables...I assumed if you added the iBar dashboard module you'd want the associated table added as well but maybe that's not a good assumption. My idea was to place those tables lower down on the page, perhaps collapsed and out of sight, and allow you to link to them as desired. I'll chew on that a bit as I try to sort out the bootstrap collapse/accordion/card columns issue being discussed in the iBar Module development thread. Thanks again for the input Matt. Dan Quote 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...
♥mattjt83 Posted March 9, 2017 Share Posted March 9, 2017 @@Dan Cole On a standard setup you can't get the icon modules to be in a nice little row like in the screenshots. I decided to code up a hook and display the iBar modules on their own at the top of the page instead of altering my index page to accommodate them. on admin/index.php under this: $adm_array = explode(';', MODULE_ADMIN_DASHBOARD_INSTALLED); I added this: //BOF iBar echo $OSCOM_Hooks->call('index', 'indexiBarOutput'); //EOF iBar Then I created a hook file catalog/includes/hooks/admin/index/iBar.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2017 osCommerce Released under the GNU General Public License */ class hook_admin_index_iBar { function listen_indexiBarOutput() { global $adm_array, $language; if ( is_array( $adm_array ) && sizeof( $adm_array ) > 0 ){ $iBar_array = array(); $new_adm_array = array(); foreach ( $adm_array as $key => $value ){ if ( strpos( $value, 'iBar' ) !== false ) { $iBar_array[] = $value; }else{ $new_adm_array[] = $value; } }//eof foreach //set new $adm_array without iBar modules included if ( sizeof( $new_adm_array ) > 0 ){ $adm_array = $new_adm_array; } //build iBar modules output here if ( sizeof( $iBar_array ) > 0 ){ $iBar_output = '<!-- BOF iBar additions --> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script> <link rel="stylesheet" type="text/css" href="includes/iBar.css"> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <!-- EOF iBar additions -->'; $iBar_output .= '<tr><td colspan="2"><div class="row">'; for ( $i=0, $n=sizeof($iBar_array); $i<$n; $i++ ) { $adm = $iBar_array[$i]; $class = substr($adm, 0, strrpos($adm, '.')); if ( !class_exists($class) ) { include(DIR_WS_LANGUAGES . $language . '/modules/dashboard/' . $adm); include(DIR_WS_MODULES . 'dashboard/' . $class . '.php'); } $ad = new $class(); if ( $ad->isEnabled() ) { $iBar_output .= $ad->getOutput(); } } $iBar_output .= '</td></tr></div>'; } return $iBar_output; } } } ?> Also don't forget to call the index page hooks with this before the output of the hook: $OSCOM_Hooks->register('index'); Dan Cole 1 Quote Matt Link to comment Share on other sites More sharing options...
Dan Cole Posted March 9, 2017 Author Share Posted March 9, 2017 @@mattjt83 Matt that is awesome...I like it!! Dan Quote 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...
ArtcoInc Posted March 9, 2017 Share Posted March 9, 2017 @@mattjt83 @@Dan Cole On a standard setup you can't get the icon modules to be in a nice little row like in the screenshots. I decided to code up a hook and display the iBar modules on their own at the top of the page instead of altering my index page to accommodate them. on admin/index.php under this: $adm_array = explode(';', MODULE_ADMIN_DASHBOARD_INSTALLED); I added this: //BOF iBar echo $OSCOM_Hooks->call('index', 'indexiBarOutput'); //EOF iBar Then I created a hook file catalog/includes/hooks/admin/index/iBar.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2017 osCommerce Released under the GNU General Public License */ class hook_admin_index_iBar { function listen_indexiBarOutput() { global $adm_array, $language; if ( is_array( $adm_array ) && sizeof( $adm_array ) > 0 ){ $iBar_array = array(); $new_adm_array = array(); foreach ( $adm_array as $key => $value ){ if ( strpos( $value, 'iBar' ) !== false ) { $iBar_array[] = $value; }else{ $new_adm_array[] = $value; } }//eof foreach //set new $adm_array without iBar modules included if ( sizeof( $new_adm_array ) > 0 ){ $adm_array = $new_adm_array; } //build iBar modules output here if ( sizeof( $iBar_array ) > 0 ){ $iBar_output = '<!-- BOF iBar additions --> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script> <link rel="stylesheet" type="text/css" href="includes/iBar.css"> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <!-- EOF iBar additions -->'; $iBar_output .= '<tr><td colspan="2"><div class="row">'; for ( $i=0, $n=sizeof($iBar_array); $i<$n; $i++ ) { $adm = $iBar_array[$i]; $class = substr($adm, 0, strrpos($adm, '.')); if ( !class_exists($class) ) { include(DIR_WS_LANGUAGES . $language . '/modules/dashboard/' . $adm); include(DIR_WS_MODULES . 'dashboard/' . $class . '.php'); } $ad = new $class(); if ( $ad->isEnabled() ) { $iBar_output .= $ad->getOutput(); } } $iBar_output .= '</td></tr></div>'; } return $iBar_output; } } } ?> Also don't forget to call the index page hooks with this before the output of the hook: $OSCOM_Hooks->register('index'); Screen shot? Malcolm Quote Link to comment Share on other sites More sharing options...
Dan Cole Posted March 9, 2017 Author Share Posted March 9, 2017 @@mattjt83 Screen shot? Malcolm Malcolm see this post. Dan Quote 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...
♥mattjt83 Posted March 9, 2017 Share Posted March 9, 2017 @@ArtcoInc Quote Matt Link to comment Share on other sites More sharing options...
♥mattjt83 Posted March 9, 2017 Share Posted March 9, 2017 @@Dan Cole I kind of felt like this was a separate module than the standard dashboard modules which is why I separated it out from them in the hook. I think I'll add it to my live site and see how I like it :) Quote Matt Link to comment Share on other sites More sharing options...
Dan Cole Posted March 9, 2017 Author Share Posted March 9, 2017 @@mattjt83 I really like the concept of dashboards and I think this has a ton of potential...Frank has a script to read from Gmail and I can think of another 4 or 5 modules I want to add so it should be a good way to keep an eye on what's important to shop owners. Glad you like it so far. :thumbsup: Dan mattjt83 1 Quote 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...
♥mattjt83 Posted March 9, 2017 Share Posted March 9, 2017 Do you have a link to the gmail script? Quote Matt Link to comment Share on other sites More sharing options...
Dan Cole Posted March 9, 2017 Author Share Posted March 9, 2017 @@mattjt83 Do you have a link to the gmail script? I don't actually have the script but have a look at this post and the one by Gary that follows it in the iBar development thread. If your interested google imap_open and it should give a good idea about coding it. Frank will likely share his code too, if you ask him nicely. Dan mattjt83 1 Quote 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...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.