Donate Share

Open Media Collectors Database

File Release Notes and Changelog

Release Name: 0.80p12

Notes:
EVEN IF UPGRADING FROM 0.80-DEV18+:
YOU WILL HAVE TO RUN THE 0.62 -> 0.80 PATCH TO USE 
0.80.

NO UPGRADE IS PROVIDED FOR VERSION OF OPENDB OR DVDDBP 
PRIOR TO 0.62.  YOU WILL HAVE TO UPGRADE FROM THE 
DVDDBP / PRE-0.62 OPENDB -> 0.62, AND THEN INSTALL 
0.80, AND UPGRADE FROM 0.62 TO 0.80.  IT IS BECOMING TOO 
CUMBERSOME TO PROVIDE PATCHES FOR OLD VERSIONS OF 
OPENDB.

YOU CAN RISK AN UPGRADE FROM 0.60 -> 0.80, AS THERE 
WAS NO STRUCTURAL CHANGES FROM 0.60 - 0.62, BUT NO 
VERSIONS OF OPENDB PRIOR TO 0.60 WILL UPGRADE CORRECTLY.

Major enhancements:

* Import architecture added.  Import file upload architecture 
modified to avoid using tempnam, now files are uploaded to 
./importcache/ directory and references to them are managed 
from within the database via a new table import_cache.

* Export architecture completely revised.

* User address architecture added but not fully integrated.  The
tables and admin section are complete, but full integration is not
finished.

* HTTP File Cache functionality moved to the database as of 
0.80-dev20

* lookup_attribute_val column added to item_attribute table, to 
make management of attributes sourced from the lookup table 
simpler.

* Listings enhancments to support specifying arbitrary attributes
and to also control what columns are displayed, and in what 
order.

Check out the $CONFIG_VARS['listings.display_columns']
variable, which provides some examples.

The 'audio', 'video' groupings are available, when you restrict 
your listing to a s_item_type from this group or to the group 
itself.  The DEFAULT option is what is used where no 
s_item_type_group / s_item_type restriction is in force.

* Multi item quick checkout support added in simple format to support item_id.instance_no.

* Change Owner added

* Add New Item admin option so that administrators can add 
items for other users.

* Many bugfixes (and new bugs too!)

--- MYSQL / PHP UPGRADE REQUIRED ----

This version of OpenDb removes ALL support for versions of 
MySQL prior to 3.23.2.

The minimum version of PHP is 4.06 as part of 0.80 development 
as well.

If you do not already have these minimums on your servers you 
will have to be there to use 0.80 without any issues cropping
up!

Changes: 0.80p12 ------- * functions/item.php Added new function get_item_type_group_for_item_type($s_item_type) * functions/review.php, item_display.php & lang/english.inc.php This patch will include reviews in item_display for other item titles, as long as the title matches EXACTLY! This setting will also affect the ratings for titles, etc. However it does not currently affect searching on title, which still must be an exact match. See $CONFIG_VARS['item_review.include_other_title_reviews'] variable in include/config.php * admin/s_item_type/index.php & admin/s_item_type/functions.php Updates to allow deletion of s_item_type and s_item_attribute_type records as well as changing order_no even if items, item_attributes,etc already exist for the item. it will either delete the dependant items, or change the order_no of dependant item_attributes. * admin/s_address_type/index.php Minor update to center align the Closed Indicator checkboxes. * search.php & functions/item_attribute.php Modified call and function fetch_item_attribute_type_rs to support a string $order_by value of 'prompt' to indicate the listing should be ordered by sat/siat prompt, instead of by order_no. * listings.php Minor enhancement, to support improvements for customising search results for external links. Supports override_page_title="title", show_search_query_matrix=[Y|N], show_lovs=[Y|N] 0.80p11 ------- * index.php If include/config.php (or include/local_config.php) variable $CONFIG_VARS['patch.upgrade_check'] was set FALSE, the index.php page would never redirect to the _theme_index theme function, which normally causes the login.php page to execute. 0.80p10 ------- * borrow.php, listings.php, item_display.php Updated to include a Borrow Status column, to avoid confusion between actual status of item, and its status as far as whether its reserved, checked out, etc. * functions/http.php Minor fix to functions: get_site_protocol() get_site_host() get_site_port() get_site_path() to include a 'global $CONFIG_VARS;' so that opendb configured overrides work correctly. * functions/item_input.php Update to fix bug, where borrow duration was never saved when item was being inserted updated. This did not affect item instance update, or Copy item functionality which worked perfectly. 0.80p9 ------ * functions/widgets.php::get_item_image(...) Minor fix where s_item_type image is not defined. Was not displaying anything in item_display and item_input for linked items. * functions/widgets.php::get_display_field(...) Fixed issue with 'datetime' widget, where $value is not a completely parseable timestamp. Was returning $value instead of a format_field * functions/Listing.class.inc Modified logic to match that for item_display.php, so that if an s_item_type does not have any IMAGE s_attribute_type's, then do not display no-image placeholder. * admin/s_item_type/index.php::display_s_item_attribute_type_row(...) Fixed error whereby delete checkbox occurred for mandatory system s_item_attribute_type records. * item_display.php Added support for displaying an 'No Image' placeholder image, if none defined for an item. This will only be done, where at least one s_attribute_type with s_field_type of IMAGE is defined for an s_item_type. Modified linked item functionality for cover images to use the new include/config.php variable $CONFIG_VARS['item_display.no_image'] instead of $CONFIG_VARS['listings.no_image'] * functions/database.php Minor change to run_opendb_query(...) function to not die() if mysql database does not exist. This is to allow the new upgrade checking to display a more informative message to the user. * functions/listutils.php & item_display.php Added functionality to the stream external images feature to allow restricting to specific domains. This allows the feature to be used to stream IMDB images without impacting other site plugins, for example. * functions/http.php Added is_uri_domain_in_list($url, $domain_list_r) function. * index.php Updated to perform some basic upgrade checks to notify the user if their OpenDb installation is correctly installed or not. * functions/patchutils.php Added new function is_exists_opendb_database() Renamed function count_fields(...) to count_opendb_table_columms(...) as no functionality actually uses this old function, no stub was left behind. Did the same for count_table_records, which was renamed to count_opendb_table_rows. Functions were modified a little to make them more useful. To be consistent, renamed check_table to check_opendb_table but left check_table stub, as its still used in patches. Added is_opendb_upto_date() function which does a basic check of the OpenDb tables to make sure they are up to date, including column counts and system data existing in system tables, but nothing more complicated. This function will be enhanced to check the s_opendb_release table when it is introduced. * functions/item_input.php Minor fix to resolve refresh issue with cagegory field, where Old field value has been chosen, previously this would result in no category at all. 0.80p8 ------ * functions/themes.php A minor update to _theme_image_src($src) to ensure correct path is returned, even when $_OPENDB_LANGUAGE or $_OPENDB_THEME are not defined. * listings.php Minor update to query box logic to include display of search for an attribute value not restricted to a particular attribute type. * search.php Rearrangement of the search fields to be a bit more logical, with the addition of 'Updated' field for attribute type search. Also updated to disable free text fields, where a value has been chosen in the accompanying LOV. This is for Updated On: and Attribute Value fields. * include/search.js Minor update to populateList to execute onchange event of the select object after populating it. * search.php, listings.php, functions/item.php, lang/english.inc.php Updated to support searching for specific attributes updated within a certain time period. 0.80p7 ------ * item_input.php, functions/item_input.php & functions/status_type.php Minor improvements to the Change Owner functionality to force change of status as soon as the owner is changed, to a different valid update status type. * functions/status_type.php Minor mods to SQL that do not affect functionality, but change readability. * functions/email.php::opendb_email(...) Added @ to call to mail() function to avoid ugly error message if mail is not properly configured. * listings.php Addition of logic to include Change Owner action in listings page if appropriate. Logic copied from item_display.php almost verbatim. * user_admin.php & include/config.php Introduced new config variable $CONFIG_VARS['newuser.signup_restrict_usertypes'] to control the list of user types within the sign me up registration form. If only one type is specified the initial screen will be bypassed. Modified get_user_type_signup_form function to restrict list of types to those specified by the variable. The order of types in the variable controls what is displayed. The first option will be checked by default. * item_borrow.php Fixed minor typo in reserve_all function, to properly reset the $HTTP_VARS['op'] = 'reserve'; * site/freedb/functions.php The freedb site plugin removes duplicate entries, but previously only looked at the title. If the title is the same, but the artist different, it is still considered a duplicate. Updated code to consider artist as well as title before considering duplicate. * include/session.php Updated mysql_session_write($SID, $value) function to UPDATE session record even when expired. Its up to the session handler to see if there is a valid session record. session_destroy is not being called in the case where a session is expired at the PHP level, which is causing a problem. Until we work out a more correct solution this code will be modified as a workaround. * docs/test/test_xml_import.php Minor updates and included an export.xml file so that the script actually works correctly. 0.80p6 ------ * item_display.php Updated reviews block to remove update/delete action buttons if user cannot actually perform update or delete. * listings.php Modified code so that all possible search attributes are included in the Search Query table. This meant including logic to display Item Type Group and Item Type search parameters. This is most useful for printable listings where the item type group and item type lists of values are removed (or where the configuration has been changed to not provide these lov's. Updated to exclude Linked Items entry from search query unless search specified linked items should be included. * search.php & include/config.php Added new config.php variable $CONFIG_VARS['search.default_include_linked_items'] to configure whether linked items are included / excluded by default in the search page. Set to TRUE by default, to maintain existing functionality. 0.80p5 ------ * listings.php & theme/printable/style.css Updated listings.php so that search query table displays even in printable mode. Updated the printable theme so that the search results table is legible. * database.php::parse_sql_statement($sql, $prefix) Updated to correctly support LOCK TABLES syntax for multiple tables. 0.80p4 ------ * item_input.php & functions/item_attribute.php A minor fix when a site plugin does not provide a category value, its unpredictable what will come back for currently selected lookup. 0.80p3 ------ * admin/s_attribute_type/index.php Minor modification to allow update of Description for all s_attribute_type's * item_borrow.php & lang/english.inc.php Added logic to Quick Check Out functionality to check if the item is already reserved by the user. If the item is already reserved, then the quick check out process will be aborted. 0.80p2 ------ * item_borrow.php::display_borrow_results(...) Fix to the logic to decide who to send email to. Previously if the current user was the same as the borrower, the email was automatically sent to the owner. This is no longer suitable and so specific logic has been added to cater for the two cases where we want to switch them, which is for 'reserve' and 'cancel' operations, the rest of the time, we always want to send to the borrower no matter what. 0.80p1 ------ * item_borrow.php Minor fix to handle_reminder function to actually allow administrator to send reminders for items they do not own. Major fix to ensure that duplicate emails are not sent out as part of the reminders job. * user_admin.php Minor fix if address type was closed, heading was still coming up in Edit My Info. 0.80 ---- * functions/theme.php Minor fix to support for transparent images in stats. 0.80rc2 ------- * patch/0.62/index.php Minor errors with messages fixed. * include/menu.php Fixed get_hierarchical_menu_options(...) issues, in part due to bug #1023341 * listings.php Minor modification to change $this->_mode to $HTTP_VARS['mode'] thanks to wouterw@users.sourceforge.net in bug #1027223 0.80rc1 ------- * item_borrow.php Minor modification to send_notification_email to use new functions/email.php opendb_user_email(...) function instead of opendb_email(...) function in preparation for logging all email sent internally within the system. Initially only borrow emails (reservation, checkin, checkout, cancellation, reminder, extensions) will be logged. * functions/borrowed_item.php Removed UNIX_TIMESTAMP('20371231235959') logic to deal with ordering of NULL due_date's, etc as this was causing havoc in the php. Later versions of MySQL allow you to correctly order by with NULL columns, so this will be a minor annoyance only. Changed the following functions: fetch_all_borrowed_item_rs fetch_my_borrowed_item_rs fetch_my_history_item_rs fetch_item_instance_history_rs fetch_owner_borrowed_item_rs 0.80-b6 ------- * item_add.php Minor modification to the way the search fields are displayed. Especially useful when more than one search field with prompt is to be displayed. * user_admin.php Fix for $CONFIG_VARS['user_admin.welcome_email_use_admin_email'] = TRUE, mode when creating a new user, the email and names of the admin were reversed. Thanks to Yanick McDonald <ymcdonald@kgv.ca> for this fix. * listings.php & functions/item.php Fix to allow correct numeric ordering for fields with a 'number' input type or configuration option numeric_orderby=>TRUE, thanks to Yanick McDonald <ymcdonald@kgv.ca> for this fix. 0.80-b5 ------- * item_borrow.php Added @set_time_limit(600); statement to jobs.send_reminders operation, so it does not time out. * functions/borrowed_item.php Replaced include/config.php variable $CONFIG_VARS['borrow.reminder.daysleft'] with a more flexible alternative $CONFIG_VARS['borrow.reminder.duration_range'], refer to include/config.php for more information. 0.80-b4 ------- * backup.php Modified to enable passing a single parameter 'all_tables=true' to backup all tables without having to specify individual tables. * functions/borrowed_item.php & item_borrow.php Added send reminder functionality to be executed from a CRON (or equivalent) job. An example bash shell script is included in the docs/scripts/ directory. The include/config.php variable $CONFIG_VARS['borrow.reminder.daysleft'] configures how many days left before item is due, to start sending reminders. 0.80-b3 ------- * functions/Snoopy.class.inc Modified code to use correct proxy-authorisation headers. This is inline with what was delivered with 0.62p9. 0.80-b2 ------- * lang/english.inc.php Fix bug #1013799 * site/imdb/functions.php Fix bug #1010848 0.80-b1 ------- * functions/HTML_Listing.class.inc Modified so the 'The Printable version will display all XXXX matching item(s)' is not displayed, if all results are displayed on the one page. * user_admin.php Minor change to use the $CONFIG_VARS['site.admin_email'] for the From value in welcome email, unless the include/config.php option $CONFIG_VARS['user_admin.welcome_email_use_admin_email'] =FALSE, in which case use the current administrators details. Also applied some fixes to the user address functionality so that a user_address record is not created unless at least one attribute is provided a value. Also if all attributes for an address are cleared out, the address and attributes will be deleted. * functions/widgets.php, admin/s_attribute_type/config.php Added support for urlpopup2 display widget, which does not use the external.php script. * borrow.php Minor fix to admin quick check out functionality to not display the Check Out button until at least one item to checkout. Also fixed a minor bug. * logout.php Added call to import_cache_delete_for_user(...) function to delete any import cache records the user has, that were not removed as part of the normal import process (probably aborted halfway through) * import.php & functions/import.php Moved item_import_handler_callback(...) function from import.php script to functions/import.php script, so it makes the main script a little easier to manage. * import.php, functions/import.php, import/CSV.php, import/DIF.php, Updated the import facility to use the new import cache. * functions/importcache.php Added import cache functionality. * patch.php Added importcache option. * patch/importcache/* Added importcache patch to create the import cache table required to use the import facility. * admin/s_item_type/index.php Minor bugs revealed while building the s_address_type tool (based on the s_item_type one) were fixed. * admin/s_address_type/*.php New tool to add/edit/delete address type structures, much like the existing s_item_type tool. * admin/s_address_attribute_type_lookup/*.php New address attribute type lookup tool added by just creating stubs that import the existing s_attribute_type scripts. * admin/s_address_attribute_type/*.php New address attribute type tool added by just creating stubs that import the existing s_attribute_type scripts. * admin/s_attribute_type/functions.php Updated to check fetch_user_attribute_type_rs and fetch_attribute_type_rs to check if the $ADMIN_TYPE == 's_address_attribute_type' || $ADMIN_TYPE == 's_address_attribute_type_lookup' and if so restrict lists to only those where the s_field_type = 'ADDRESS', or conversely if the $ADMIN_TYPE does not match to those where s_field_type is null or not equal to 'ADDRESS'. We want a dedicated Address Attributes tool, and this was the easiest way to do it. * admin/s_attribute_type/config.php Updated to include empty $_FIELD_TYPES option 0.80-devXX ------------ Refer to the 0.80-dev20 section for the changelog for th 0.80 development cycle: http://sourceforge.net/project/shownotes.php?release_id=171282