Community Add-Ons
| Maintainers: | lildog |
Contribution Tracker
for osCommerce Online Merchant v2.2
I forget to check the contributions site everyday even every week or month. When I do remember to checkback it takes forever to update all my contribs. Contribution tracker checks the oscommerce feed and notes what contributions have been updated so you can easily see what contribution needs to be updated.
Changes made in rdf_class.php and installation instructions
+ Fixed the Warning-Message by editing Line 344 in rdf_class.php
+ better sort ordered to the Installinstructions.
Version 1.7.15
Changes to catalog/contrib_tracker.php:
+ Fixed detection/creation of local cache file for servers where DIR_FS_CATALOG != DIR_WS_CATALOG
+ Made the HTML output compliant with the HTML 4.01 DTD
+ Cleaned up the email notification option.
Full package upload
Support link: http://forums.oscommerce.com/index.php?showtopic=247157
Version 1.7.14
+ Several bug fixes in insert routine for correct processing of non-osCommerce support site contributions
+ date added can now be edited
+ clears sID on page change
+ Fixed bug in function old_to_new_url() that caused a crash
+ Created new 'check all' buttons in both English and Danish
+ Includes Danish language file contributed by TheExterminator
Full package upload
Support link: http://forums.oscommerce.com/index.php?showtopic=247157
+ Have make a danish translate
+ have add a danish check_all button
+ When adding a new contrib date added and last official update were getting mixed up
+ changed a couple of variables so they are more obvious
+ Quick Add now searches for a support topic and inserts it into the database
+ Insert now adds support topic if user didn't provide one and one exists in the contribution description
+ Quick Add and Insert no longer add duplicate records
+ toggleDivBlock() now uses the code from osC 2.2RC2a
+ Extensive use of tep_get_all_get_params() to preserve parameters - no longer loses sort order on updates
+ Fixed two minor HTML errors that occurred with empty searches and an empty contrib_tracker table
+ Clicking anywhere on a row in the table of contributions will select it
+ Fixed the operation of the manual check button (manualcheckall worked; manualcheck didn't)
+ realigned buttons in insert contribution page
My sql needed quotes around 'LAST_CONFIG_CHECK' from version 1.7.8.
Complete Package + Update Guides
+ Fixed Insert so it works with contributions with apostrophes in their titles
Version 1.7.8
+ Changed config update to use key LAST_CONFIG_CHECK instead of raw configuration_id, which is installation dependent
Removed old step 9 from installation instructions and moved succeeding steps up.
+ Fixed Quick Add so it works with contributions with apostrophes in their titles
+ Rebuilt all tables in body text to ensure correct HTML structure under all conditions
+ Re-created missing Javascript function toggleDivBlk() to make "info" links work in editor
+ Modified logic to suppress search, quick add, and last update boxes in edit and preview modes
+ Escaped a ton of ampersands to "&" for HTML 4.01 Transitional DTD conformance
+ (Note that some modes still generate non-conforming HTML due to minor bugs in osC functions tep_draw_form() and tep_draw_textarea_field() )
+ Cleaned up some text in the English language file
Full package upload (Danish language file will need minor updates)
THANK YOU to mmph for the following bug reports and fixes.
+ catalog/includes/functions/contrib_tracker.php and the catalog/admin/includes/functions/contrib_tracker.php files need to be swapped with each other.
+ fixed the sql file
+ clarified step 9 in install document
thanks to mmph for pointing this out:
+versions 1.7.4 and 1.7.5 used the wrong functions file in admin
Full Package + update guides
+ fixed a problem when editing a contrib, the created date and last updated date was not filling in.
Simple update
Full Package + update guides
+ added a check all contrib pages for updates button. This may take a couple of minutes it is far better to just let contrib tracker monitor the rss feed. But I have a test shop on a local server that doesn't always get updated regularly, thus my contribs don't show when they needed to be updated. Maybe if your server goes down or you move your shop and it is down for awhile, you would need this. I recommend you use this sparingly to avoid bogging the oscommerce server.
+ rename added .txt extension to history, install, and update guides names
+ renamed some update guides to sort correctly
Full Package + update guides
+ FIXED: when editing a contrib, the support url is lost.
+ FIXED: when clicking the contribs name to go to it's page the contrib tracker page wen tto the edit page
+ fixed some some code that was not correctly handling dates when checking for updates when adding a contrib
+ fixed: when editing last updated and added dates were missing
Code was missing in admin/contrib tracker.php
Full Package + update guides
If date status change is now defunct, it should be removed from the sql command:
INSERT INTO contrib_tracker (contr_id, contrib_osc_id, contrib_name,contrib_link, config_comments, status, date_status_change, note_created, contr_last_modified, last_update,contrib_vers) VALUES ('','4815','Contribution Tracker Now Installed','http://addons.oscommerce.com/info/4815', 'Congratulations! Contribution Tracker now installed! You may now delete this Contribution or use it to play around with and get the feel of your new osC contribution.', 1, '0000-00-00 00:00:00', '2005-04-15 12:55:45', '2005-04-15 12:55:45', '2005-04-15','1.6.6e');
Full package with correction.
I fixed the date check boxes and cleaned up some code. date_status_change is now defunct, it is not used by anything anymore
upload admin/contrib_tracker.php
if you added carry_g's fix:
you need to remove `date_status_change` from the contrib tracker table
Full package + update guides
One instruction missing in sql left out the date_status_change, added to sql file, rezipped FULL PACKAGE included. Still has issue reading Who's Online though, where 's throws error.
Here is command to issue if you already installed files below - without this you cannot click Green/Red lights manually.
ALTER TABLE `contrib_tracker` ADD `date_status_change` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `config_comments` ;
I saw another contrib that tracks contributions and liked some of the features. It checks the actual page that the contrib is on by id #. For me I thought that is alot of pages to always be checking, but once in awhile and when you add a contrib it seemed great. You now add the contrib by it's id# and the EXACT title will be retrieved as well as the latest versions date. I also added a new button for a manual update which connects to the pages and checks for updates, in case your shop was down or your server or whatever reason the rss feed was unreachable.
+ fixed a potential bug when entering dates
+ added a today checkbox to date added to store
+ cleaned up some code
+ added success and error messages
+ added a quick add box
+ when updating a contrib the old add-ons URL will be automatically be changed to the new add-ons URL
+ changed some variables that were not clear as to what they were(mostly date related) for easier future identification
+added a check to manually update a contrib from it's oscommerce add ons page. This maybe useful if your server goes down you move shop locations, don't have a way to cron your contribs, the rss feed is probably the better way to go but if you need it it is there. I am not sure but this should probably be used sparingly as it probably eats up osc's bandwidth as where the rss feed is meant for being constantly checked.
+ deleted a useless database table
FULL PACKAGE + update guide
fixed some row over and mouse over routines in admin
full package + update guide
-- enlarged the version number database space...it used to allow only 5 characters now allows 7 characters
-- merged the 1.6.6c changed into the 1.6.6d version. 1.6.6c I think was based on an old version.
Have make some small update:
Make the status and info icon to language.
Have update the admin/languages/danish and english file.
For update, only copy the admin/contrib_tracker.php and you danish or english language file.
Added missing step to instructions, added update guides. Based on Contribution Tracker 1.6.6a.
Full Package.
This step has always been missing: I think everyone will need to do this step:
in catalog/admin/contrib_tracker.php
****FIND:
tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . $HTTP_POST_VARS['lastcheck'] . "', last_modified = now() where configuration_id = PUT YOUR CONFIG ID HERE");
REPLACE:
PUT YOUR CONFIG ID HERE with THE CONFIGURATION ID OF the column 'Last Contrib Check' of the confirguration table from PHPMyAdmin
Email can now be sent only when a new file has been added for a contribution.
Full package
Removed reference to get_http_headers as per pbor1234
Added Version no column on admin page.
Showed no of contributons to update in audit email
Corrected a few spelink mistoikes.
Changed url in sql to http://addons.oscommerce.com/info/4815
Updated the installation instuctions.
Fixed New URL's and made future URL's easier to replace.
If the XML cannot be parsed OR opened an email will be sent to the store, letting them know Contribution Tracker is broken.
This minor upgrade fixes:
errors reported when connecting to the rss feed of contribs.
error generated when the file catalog/rsscache/contrib_rss.html doesn't exist
This minor upgrade fixes links to the new add on server. The links in contrib tracker in admin control panel will now take you to whatever link is added, valid link or not.
-- bug fix an operator.
-- add checkbox to edit/add page to insert date for Last date integrated into store
Complete package.
A few fixes that add php 5 and RC1 compatibility
- sashaben fix: php 5 compatibility.
- fixed a query that failed with RC1
- Fixed a path issue
Major update.
This version uses uses fopen if curl lib is not available. I also fixed a couple of problems with the links in the admin part. if a link was empty or not a url errors were generated. Moved functions to fuctions file. When clicking a contrib name in admin it now opens anew window to load OSCommerce page for that contribution.
Minor Update
- Version 1.5.5 had an incorrect catalog/contrib_tracker.php file included.
- included search bug fix.
This bug fix fixes the link to the edit page of a contrib when you have done a search.
in admin/contrib_tracker.php:
1. ***FIND***
if ($HTTP_GET_VARS['action'] != 'new' || $HTTP_GET_VARS['action'] != 'edit') {
if (htmlspecialchars(StripSlashes(@$HTTP_GET_VARS["search"])) == '')
{$searchquery = 'enter search query'; } else { $searchquery = htmlspecialchars(StripSlashes(@$HTTP_GET_VARS["search"])) ;}
?>
***CHANGE TO***
if ($HTTP_GET_VARS['action'] != 'new' || $HTTP_GET_VARS['action'] != 'edit') {
if (htmlspecialchars(StripSlashes(@$HTTP_GET_VARS["search"])) == '')
{$searchquery = ''; } else { $searchquery = htmlspecialchars(StripSlashes(@$HTTP_GET_VARS["search"])) ;}
?>
2. ***FIND***
if ( (is_object($sInfo)) && ($admin_quer['contr_id'] == $sInfo->contr_id)) {
echo ' <tr class="dataTableRowSelected" onmouseover="this.style.cursor='hand'" onclick="document.location.href='' . tep_href_link(FILENAME_CONTRIB_TRACKER, 'page=' . $HTTP_GET_VARS['page'] . '&sID=' . $sInfo->contr_id . '&sort=' . $HTTP_GET_VARS['sort'] . '&action=readonly') . ''">' . "n";
} else {
echo ' <tr class="dataTableRow" onmouseover="this.className='dataTableRowOver';this.style.cursor='hand'" onmouseout="this.className='dataTableRow'" onclick="document.location.href='' . tep_href_link(FILENAME_CONTRIB_TRACKER, 'page=' . $HTTP_GET_VARS['page'] . '&sID=' . $admin_quer['contr_id']) . '&sort=' . $HTTP_GET_VARS['sort'] . ''">' . "n"; }
***CHANGE TO***
if ( (is_object($sInfo)) && ($admin_quer['contr_id'] == $sInfo->contr_id)) {
echo ' <tr class="dataTableRowSelected" onmouseover="this.style.cursor='hand'" onclick="document.location.href='' . tep_href_link(FILENAME_CONTRIB_TRACKER, 'search=' . $HTTP_GET_VARS['search'] . '&sID=' . $sInfo->contr_id . '&sort=' . $HTTP_GET_VARS['sort'] . '&action=readonly') . ''">' . "n";
} else {
echo ' <tr class="dataTableRow" onmouseover="this.className='dataTableRowOver';this.style.cursor='hand'" onmouseout="this.className='dataTableRow'" onclick="document.location.href='' . tep_href_link(FILENAME_CONTRIB_TRACKER, 'search=' . $HTTP_GET_VARS['search'] . '&sID=' . $admin_quer['contr_id']) . '&sort=' . $HTTP_GET_VARS['sort'] . ''">' . "n"; }
3.***FIND***
<td class="dataTableContent" align="right"><?php if ( (is_object($sInfo)) && ($admin_quer['contr_id'] == $sInfo->contr_id) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_CONTRIB_TRACKER, 'page=' . $HTTP_GET_VARS['page'] . '&sID=' . $admin_quer['contr_id']) . '&sort=' . $HTTP_GET_VARS['sort'] . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', 'Preview') . '</a>'; } ?> </td>
***CHANGE TO***
<td class="dataTableContent" align="right">
<?php
if (htmlspecialchars(StripSlashes(@$HTTP_GET_VARS["search"])) == ''){
if ( (is_object($sInfo)) && ($admin_quer['contr_id'] == $sInfo->contr_id) ) {
echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', '');
}else{
echo '<a href="' . tep_href_link(FILENAME_CONTRIB_TRACKER, 'page=' . $HTTP_GET_VARS['page'] . '&sID=' . $admin_quer['contr_id']) . '&sort=' . $HTTP_GET_VARS['sort'] . '">' .tep_image(DIR_WS_IMAGES . 'icon_info.gif', 'Preview') . '</a>';
}
}else{
if ( (is_object($sInfo)) && ($admin_quer['contr_id'] == $sInfo->contr_id) ) {
echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', '');
} else {
echo '<a href="' . tep_href_link(FILENAME_CONTRIB_TRACKER, 'search=' . $HTTP_GET_VARS['search'] . '&sID=' . $admin_quer['contr_id']) . '&sort=' . $HTTP_GET_VARS['sort'] . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', 'Preview') . '</a>';
}
}
?>
</td>
I have replaced the fopen with a curl function. Apparently fopen is a security risk. A few minor corrections to install.This is a complete package. if you are updating from an earlier version, see the upgrade files.
This fixes a problem that generates an error when Contribution tracker can not reach the OSC feed, the errors unnessessarily fill the scripts log.
in catalog/includes/classes/rdf_class.php
AND
in catalog/admin/includes/classes/rdf_class.php
FIND:
if (!($fp = fopen($this->FileName, "r"))) {
REPLACE WITH:
if (!($fp = @fopen($this->FileName, "r"))) {
This minor fix fixes a problem where any contrib with a '&' does not get parsed correctly and therefore does not update correctly.
1. Manually check to see if any contribs with '&' in the title need to be updated.
2. In admin/contrib_tacker.php
change:
$channel = new rdfFile("http://www.oscommerce.com/oscommerce_contributions.rdf");
$channel->parse(true);
to:
$channel = new rdfFile("http://www.oscommerce.com/oscommerce_contributions.rdf");
$channel->parse(false);
1. Fixed a problem when updating a contrib status from the edit page. It was not updating the last integrated date.
STEPS:
1.in catalog/admin/contrib_tracker.php
**** CHANGE****
case 'update':
tep_db_query("update " . TABLE_CONTRIB_TRACKER . " set contr_last_modified = now(), status = '" . $status . "',contrib_name = '" . $contrib_name_new . "', contrib_link = '" . $contrib_link_new . "', config_comments = '" . $config_comments . "', last_update = '" . $last_update . "', contrib_vers= '" . $contrib_vers . "' where contr_id = '" . $HTTP_POST_VARS['contr_id'] . "'");
tep_redirect(tep_href_link(FILENAME_CONTRIB_TRACKER, 'page=' . $HTTP_GET_VARS['page'] . '&sID=' . $contr_id . '&sort=' . $HTTP_GET_VARS['sort']));
break;
****TO:****
case 'update':
if ($old_status!='1' && $status=='1'){
$current_status='1';
}else{
$current_status= $status;
}
tep_db_query("update " . TABLE_CONTRIB_TRACKER . " set contr_last_modified = now(), status = '" . $current_status . "',contrib_name = '" . $contrib_name_new . "', contrib_link = '" . $contrib_link_new . "', config_comments = '" . $config_comments . "', last_update = '" . $last_update . "', contrib_vers= '" . $contrib_vers . "' where contr_id = '" . $HTTP_POST_VARS['contr_id'] . "'");
tep_redirect(tep_href_link(FILENAME_CONTRIB_TRACKER, 'page=' . $HTTP_GET_VARS['page'] . '&sID=' . $contr_id . '&sort=' . $HTTP_GET_VARS['sort']));
break;
****CHANGE: ****
<td class="dataTableContent"><?php echo tep_draw_input_field('status', $sInfo->status, 'size=2 maxlength=1'); ?>
0 = <?php echo tep_image(DIR_WS_IMAGES . 'icon_status_red.gif', 'New Update Exists', 10, 10); ?> New Update Exists
1 = <?php echo tep_image(DIR_WS_IMAGES . 'icon_status_green.gif', 'No New Update', 10, 10); ?> No New Update
2 = No status
****TO:****
<td class="dataTableContent"><?php echo tep_draw_input_field('status', $sInfo->status, 'size=2 maxlength=1'); ?>
0 = <?php echo tep_image(DIR_WS_IMAGES . 'icon_status_red.gif', 'New Update Exists', 10, 10); ?> New Update Exists
1 = <?php echo tep_image(DIR_WS_IMAGES . 'icon_status_green.gif', 'No New Update', 10, 10); ?> No New Update
2 = No status
<td><?php echo tep_draw_hidden_field('old_status', $sInfo->status); ?></td>
COMPLETE PACKAGE
in catalog/admin/contrib_tracker.php
change:
<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
to:
<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 10, 1); ?></td>
--added a field to store the last time you actually went to the contribution site, to remember when you last looked for new and cool contribs to add in.
-- removed the code that directed you to the preview page when clicking the info icon in the main page
COMPLETE PACKAGE
just renamed the update instructions so they do not generate a naming error. NO code or fuctionality has been changed or added.
Small typo corrected that prevented version number being entered into database when inserting a contrib name.
line 84 in admin/contrib_tracker.php
From:
tep_db_query("insert into " . TABLE_CONTRIB_TRACKER . " (contr_id, contrib_name, contrib_link, config_comments, note_created, status, last_update, contrib_vers) values ('','" . $HTTP_POST_VARS['contrib_name_new'] . "','" . $HTTP_POST_VARS['contrib_link_new'] . "','" . $HTTP_POST_VARS['config_comments'] . "', '" . $atstamp . "', '1', '" . $utstamp . "', '" . $HTTP_POST_VARS['config_vers'] . "' )");
To:
tep_db_query("insert into " . TABLE_CONTRIB_TRACKER . " (contr_id, contrib_name, contrib_link, config_comments, note_created, status, last_update, contrib_vers) values ('','" . $HTTP_POST_VARS['contrib_name_new'] . "','" . $HTTP_POST_VARS['contrib_link_new'] . "','" . $HTTP_POST_VARS['config_comments'] . "', '" . $atstamp . "', '1', '" . $utstamp . "', '" . $HTTP_POST_VARS['contrib_vers'] . "' )");
small update. Fixes a status problem. The only change is to catalog/admin/contrib_tracker.php
- added a field for contrib version numbers
- show comments in right column on main page
- in right column made tags bold for easier viewing
FULL PACKAGE
This update fixes the time problem. The times were off by -5 hours. Also adds a fix for contribution titles that have quotes in them. Tidied up code a bit and added comments to code.
Complete package.
Added: Support thread: http://forums.oscommerce.com/index.php?showtopic=247157
Added Danish language file
Minor updates.
Translate To Danish
Full Package with screenshots added
I forget to check the contributions site everyday even every week or month. When I do remember to checkback it takes forever to update all my contribs. Contribution tracker checks the oscommerce feed and notes what contributions have been updated so you can easily see what contribution needs to be updated.
