Changelog
1.12.2 (Dec 14, 2011)
- Fixed WP 3.3 TinyMCE Editor bug with HTML tab (wouldn't save if HTML tab was active during initial form load) and other minor fixes
1.12.1 (Dec 12, 2011)
- Fixed findRecords Order bug
1.12 (Dec 12, 2011)
- Important: As with all upgrades, we take them seriously. If you experience any major issues when upgrading to this version from a previous version, immediately contact and we'll help get your upgrade issue figured out (critical bugs only please)
- Security Update: AJAX API calls all utilize _wpnonce hashes, update your customized publicForm / input helper code AJAX (api.php and misc.php expect `wp_create_nonce('pods-' . $action)` usage)
- Added: Multi-level references in field names when referenced in Pod :: findRecords $params (`select, where, groupby, having, orderby`) - ex. `'where' => 'pick_field.another_pick_field.another_pick.field = "Example"'` **(donation-funded by @chriscarvache)**
- Added: Multi-level references in search filters when referenced in Pod :: findRecords $params (`select, where, groupby, having, orderby`) or Pod :: traverse variable (when not mentioned in params but you want it filterable) **(donation-funded by @chriscarvache)**
- Added: Lightweight Relationship (PICK) field support in Pod :: findRecords (2.0 full support in UI) **(donation-funded by @chriscarvache)**
- Added: Fully revamped JOINs based on field names when referenced in Pod :: findRecords $params (`select, where, groupby, having, orderby`) **(donation-funded by @chriscarvache)**
- Added: RegEx auto-sanitizing of field names when referenced in Pod :: findRecords $params (`select, where, groupby, having, orderby`) **(donation-funded by @chriscarvache)**
- Added: PodAPI :: duplicate_pod_item with $params as `'datatype' => 'podname', 'tbl_row_id' => $item_id_to_duplicate` (returns new id) **(donation-funded by @gr0b1)**
- Added: PodAPI :: export_pod_item with $params as `'datatype' => 'podname', 'tbl_row_id' => $item_id_to_export` (returns array of data - pick/file columns are arrays of their data) **(donation-funded by @gr0b1)**
- Added: PODS_STRICT_MODE constant to enable many features at once which are common settings for advanced developers including - Pagination defaults to off; Search defaults to off; PodAPI $params are auto-sanitized (stripslashes_deep if you already sanitized or are dealing with sanitized values in your $params)
- Added: Pod('pod_name', $params) ability to run findRecords straight away with one single line that also sets up the Pod object, $params must be an array
- Added: Option to use SQL_CALC_FOUND_ROWS or COUNT(*) for getting the total rows available (for use with pagination / Pod :: getTotalRows) setting 'calc_found_rows' or 'count_found_rows' to true in Pod :: findRecords $params (useful for complex queries on data)
- Added: Option to disable pagination altogether (separate from setting page to 1, but also forces page to be 1) in findRecords $params `'pagination' => false`
- Added: PODS_GLOBAL_POD_PAGINATION constant to globally disable pagination by setting the constant to false (can be renabled as needed in findRecords $params `'pagination' => true`)
- Added: PODS_GLOBAL_POD_SEARCH constant to globally disable search by setting the constant to false (can be renabled as needed in findRecords $params `'search' => true`)
- Added: PODS_GLOBAL_POD_SEARCH_MODE constant to globally set the search_mode to 'text', 'int', or 'text_like' (default 'int' which references field IDs) - can be overrided as needed in findRecords $params `'search_mode' => 'text'`)
- Added: PODS_DISABLE_EVAL constant to globally disable PHP eval() on PHP-enabled areas of Pods (Templates, Helpers, Pod Pages)
- Added: PODS_WP_VERSION_MINIMUM constant to disable WP minimum version requirement
- Added: PODS_PHP_VERSION_MINIMUM constant to disable PHP minimum version requirement
- Added: PODS_MYSQL_VERSION_MINIMUM constant to disable MySQL minimum version requirement
- Added: Pod :: getRowNumber() to get current row number and Pod :: row_number variable to internally be used to keep track of which row_number you're on in findRecords loop (incremented in fetchRecord)
- Added: Pod :: raw_sql contains SQL without @ table references replaced and Pod :: sql now should reflect the same query as hits the DB (@ table references replaced)
- Added: Pod :: getZebra() which uses a switch (Pod :: zebra) that goes from false to true during fetchRecord loops (initial value is false, first fetch switches it to true and reverses each additional fetch)
- Added: PodAPI :: save_template / save_page / save_helper now allow 'name' / 'uri' to be renamed on save (only in API, not UI)
- Added: PodAPI :: save_pod_item now accepts an array for $params->tbl_row_id which will let you save multiple items at a time using the rest of the $params
- Added: PodAPI :: delete_pod_item now accepts an array for $params->tbl_row_id which will let you delete multiple items at a time
- Added: Having trouble updating Pods but you know things should be OK (advanced users)? Try adding ?pods_bypass_update=1 to the page URL you're on to bypass the update
- Added: Pagination / Filters to pods_shortcode (ex. `[pods name="mypod" limit="15" pagination="1" pagination_label="Go to page:" pagination_location="after" filters="status,category" filters_label="Filter:" filters_location="before"]`)
- Added: pods_page_templates filter to get $page_templates for use in Pod Page editor, which allows support for Pods built into **iThemes Builder*
- coming soon (to select layouts)
- Added: When using pods_query and setting $error to false, will bypass die on MySQL error
- Added: When using Pods UI as an admin (manage_options capability), add 'debug=1' to the URL to see the currently used SQL query for a manage screen
- Added: pods_manage now returns $object
- Added: Sort classes now used to show current sort direction
- Added: PodAPI :: load_column now accepts 'name' and 'datatype' (id) parameters for lookup instead of only just 'id' of field
- Added: PodAPI :: load_helper now accepts 'type' parameter for lookup instead of only just 'id' and 'name' of helper
- Added: New function 'pods_function_or_file' that checks if a function or file exists based on a number of locations, used for Helpers / Templates / Pod Pages, filter available called 'pods_function_or_file' if you want to customize further
- Changed: Pod Page Precode now runs on 'after_setup_theme' action instead of 'plugins_loaded'
- Changed: pods_generate_key / pods_validate_key revamped to work off of wpnonce, though $_SESSION is still used for holding the columns from that form usage
- Changed: pods_sanitize now sanitizes keys (previously only values)
- Changed: Now using wp_hash instead of md5 to get the hash of a value
- Changed: PODS_VERSION_FULL removed and PODS_VERSION now set as real point version (ex. `1.12`), updated all checks for version to use PHP version_compare
- Changed: input_helper in column options returns only value instead of the actual 'phpcode' now during publicForm, which then enables file-based / function-based checks during input_field.php loop
- Changed: pods_unique_slug to work more efficiently
- Removed: $this->wpdb from Pod class (just a vestige of the past, now using global $wpdb)
- Removed: PodAPI / UI References to old Pods Menu functionality
- Fixed: jQuery Sortable include fix
- Fixed: WP 3.3 errors fixed in regards to new WP Editor API for TinyMCE (via @azzozz)
- Fixed: Tightened up uninstall.php and when it can be run to avoid accidental uninstalls (Reminder: When you delete Pods (and other plugins) within WP, you'll delete the files AND your data as we follow the WP Plugin data standard for uninstalling)
- Fixed: Pods >> Setup UI updated with lots of fixes when editing Pods / Columns, and Helpers (no more refreshes needed where they may have been needed before)
- Fixed: PodAPI setting of defaults for $params to avoid isset checks
- Fixed: PodAPI :: save_column now sets pick-related extra data to empty if not a pick column
- Fixed: Pod :: getRecordById() now gets all of the same data as findRecords pulls in (pod_id, created, modified)
- Fixed: pods_url_variable references updated to pods_var
- Fixed: SQL cleaned up (extra line breaks removed so it's not as ugly) and standardized to escape field names in SQL references
1.11 (Aug 12, 2011)
- IMPROVED: MySQL performance enhanced with a number of MySQL indexes and column type tweaks, your DB will be automatically upgraded for you
- ADDED: PodInit :: setup now has filters / actions that run before / after install and updates
- ADDED: PodInit :: setup now explicitly sets CHARSET / COLLATE options as defined in wp-config ($wpdb->charset / $wpdb->collate)
- ADDED: PodInit :: precode now runs action 'pods_page_precode' after a Pod Page's precode is run (if any) and allows you to intercept the global $pods variable to force a Pod Page to stop running (issue a 404 by $pods = 404;) and other modifications to $pods global
- ADDED: PodInit :: admin_menu now checks if PODS_DISABLE_ADMIN_MENU is defined and set to true, which will hide all of the Pods menus (except for top-level Pod menus)
- ADDED: PodInit :: wp_head now checks if PODS_DISABLE_VERSION_OUTPUT is defined and set to true, which will hide the Pods version from Pod Pages
- ADDED: Set Meta Property Tags in your Pod Page precode, just setup $pods on your Pod object, and assign $pods->meta_properties as an array with any other meta property tags you want put on that page (useful for quick and dynamic meta tags dependant on Pod information)
- BUGFIX: Pods UI bug with filters / searches not working fixed, added a $strict variable to pods_ui_var and pods_var for clearer values (strict mode returns default if value found is empty)
- BUGFIX: Fixed pods_var bug with strtolower PHP warning when managing content
- BUGFIX: PodAPI :: export_package now removes sister_field_id from field data being exported as it could cause issues with incorrect bi-directional mapping to fields on reimport (expect to rebuild bi-directional field relationships upon import of packages going forward)
- BUGFIX: PodAPI :: save_column now reserves the field names 't' and 'p' for internal use as aliases
- BUGFIX: Pod :: lookup_row_ids now forces (int) on values given, also allows $tbl_row_ids to be array instead of only just comma-separate string as before
- BUGFIX: Pod :: findRecords now looks in 'select' parameter to find fields that need to be included
- BUGFIX: Pod :: showform now forces (int) on explicitly values that hit the DB
- BUGFIX: Various PHP notice fixes and query updates to improve performance (to maximize performance on custom queries, update wp_pod queries to use datatype first then tbl_row_id if it's not already in WHERE statements, do same for wp_pod_rel on field_id and pod_id)
1.10.7 (Aug 9, 2011)
- BUGFIX: Fix for /ui/ajax/api.php which added extra slashes unnecessarily
1.10.6 (Aug 9, 2011)
- ADDED: pods_var function to replace pods_url_variable (better name, more functionality), now handles URL segments, $_GET, $_POST, $_SESSION, $_COOKIE, $_SERVER, CONSTANT, User meta, custom arrays, and custom objects - also added a $default option to set what it should default to if not found (default: null) - also added a $allowed option to set what values are allowed to be returned, if $output is not $allowed ($allowed is array and not in $allowed OR $allowed is not array and does not equal $allowed) then $default is returned
- ADDED: pods_var_set function to set variables, operates similar to pods_var, has three variables ($value, $key, $type) and returns $value on success (if $type is an array or object it will return the updated $type, if $type is 'url' it will return the full updated $url)
- BUGFIX: Now using get_current_url() and parse_url to get path versus $_SERVER['REQUEST_URI']
- BUGFIX: Replaced mysql_real_escape_string usage with esc_sql
- BUGFIX: Fixed backslashes being automatically added and causing issues with additional urlencoding and esc_attr usage
1.10.5 (Aug 9, 2011)
- ADDED: $pods->meta_extra now outputs after the meta tags when wp_head runs in case you want to output one-off meta tags for a specific page using pre-code without extra WP functions
- BUGFIX: When adding a helper, it will now be added to the 'input helper' drop-down too
- BUGFIX: Pods non-top-level management has session filters turned off now by default
- BUGFIX: Taxonomy PICK unique values handler fixed to reference 't.term_id' instead of just 'id'
- BUGFIX: Pagination now using esc_url correctly, which wasn't being used right in 1.10.4
1.10.4 (Aug 1, 2011)
- BUGFIX: Pods UI was breaking 'view' links
- BUGFIX: Pods UI reordering fixed
- BUGFIX: Better errors for when a Pod doesn't exist to replace SQL errors
1.10.3 (Jul 30, 2011)
- BUGFIX: Shortcode 'where' parameter fixed
- BUGFIX: Body Class for Pod Pages not replacing / with - correctly and leaving an extra - at the end with wildcards
1.10.2 (Jul 29, 2011)
- ADDED: Moved the demo.php file from the Pods UI plugin over as pods-ui-demo.php and can now be found distributed with this plugin in the /demo/ plugin
- BUGFIX: Fixed PHP error with new Version to Point function
1.10.1 (Jul 28, 2011)
- ADDED: New wp_pod and wp_pod_tbl_* table fix tool under Pods >> Setup >> Settings tab to resync your wp_pod table (clear orphans in wp_pod, and sync from wp_pod_tbl_* to wp_pod what doesn't already exist) - Useful for those who imported directly to wp_pod_tbl_* but forgot to import into wp_pod
- ADDED: Set Meta Tags in your Pod Page precode, just setup $pods on your Pod object, and assign $pods->meta as an array with 'description', 'keywords', or any other meta tags you want put on that page
- ADDED: Set Title Tag via $pods->meta['title'] (see Meta Tags feature listed directly above) which overrides what you might have in your Pod Page Title field
- ADDED: Set Body Classes via $pods->body_classes (as a string, like $pods->body_classes = 'one-class another-class')
- ADDED: Dynamically set your Pod Page template via $pods->page_template to set the filename, compatible with parent / child themes (fallback on currently selected Pod Page template, pods.php or default output)
- IMPROVED: Added many new filters / actions to PodInit functions for advanced customization via other plugins
- IMPROVED: On duplicate, Pods UI will now show the 'Add Another' and 'Add another based on this item' links again (instead of only on first add but not after duplicating)
- IMPROVED: PodAPI :: save_pod now returns the $pod data (via PodAPI :: load_pod) if $params->return_pod is set to true
- BUGFIX: Pod :: getFilters now using the correct 'label' for the search button
- BUGFIX: On uninstall, now deleting options WHERE option_name LIKE 'pods_%'
- BUGFIX: Various minor bug fixes
1.10 (Jul 28, 2011)
- ADDED: Full revamped UI for Content Management via Pods UI (you no longer need two separate plugins - Pods and Pods UI)
- ADDED: TinyMCE is now the default visual editor in WP Admin pages (nicEdit remains default for frontend forms), you can still use the newly updated TinyMCE for Pods package to customize this
- IMPROVED: Added many new filters across functions.php for advanced customization via other plugins
- IMPROVED: Admin Notices are now shown if you aren't running the minimum version of WordPress, PHP, and/or MySQL
- IMPROVED: Updated version handling of PODS_VERSION
- BUGFIX: Updated Pod :: get_dropdown_values to work off of $params object instead of the old ${$key} = $value
- BUGFIX: Updated Pod :: findRecords to check if 'select' from $params is empty (and only to set it if it's not empty)
- BUGFIX: Updated Pod :: findRecords to cast (int) on certain values set via $params
- BUGFIX: Updated Pod :: findRecords to INNER JOIN the wp_pod_tbl_podname table prior to other joins (now you can reference t.field_name in your custom 'join' from $params)
- BUGFIX: Updated Pod :: getFilters to use the field label (if set), falling back on name (used to only be based on name)
- BUGFIX: publicForm now sets columns explicitly to those that exist instead of passing null if fields not set
- BUGFIX: PodAPI :: __construct now uses PodAPI :: load_pod to setup the pod and it's fields instead of doing the calls itself
- BUGFIX: PodAPI :: load_pod simplified
- BUGFIX: PodInit :: init now checks if WP_DEBUG is on in addition to if headers_sent to set session_start()
- BUGFIX: Moved Package Manager to below Setup and above Manage Content to keep Manage Content next to the Add podname sub-menu items
- BUGFIX: Pods >> Setup >> Pods tab updated so when you add/remove Pods it will adjust the related to drop-down in field settings (previously it didn't show it until you refreshed the page)
- BUGFIX: Pods >> Setup >> Pods tab under Field settings section updated to show/hide relevant fields if a pick (or not)
- BUGFIX: Pods >> Setup >> Pods tab to reset the Pod settings fields correctly when switching to different Pods or adding / removing them
- BUGFIX: Pods >> Setup >> Helpers tab updated so when you add/remove Helpers it will adjust the pre/post save/drop helpers drop-downs in the Pods tab (previously it didn't show it until you refreshed the page)
- BUGFIX: Pods >> Setup >> Helpers tab updated so when you add Helpers it will set the helper_type in parentheses correctly (previously it didn't show it until you refreshed the page)
- BUGFIX: misc.php updated to work off of $params object instead of the old ${$key} = $value
- BUGFIX: Updated TinyMCE $wp_editor (developed by @azaozz) to hide WP 3.2 fullscreen buttons and only show native TinyMCE fullscreen button
- BUGFIX: Various PHP notice fixes and escape/sanitization on output across Pods
- REMINDER: 1.9.6 Security Update information can be found at: http://dev.podscms.org/2011/06/22/pods-1-9-6-security-update-new-features-bug-fixes/
- REMINDER: Pods 2.0 and How You Can Help - http://dev.podscms.org/2011/06/16/pods-2-0-and-how-you-can-help/
1.9.8 (Jul 24, 2011)
- ADDED: New Option to override existing packages during package import
- ADDED: Pods and additional database calls are not initiated (but you can run the code as the files are included) when SHORTINIT is defined and set to true (also does not load much of WP itself)
- IMPROVED: Enhanced display / error information and implementation for package import
- BUGFIX: Fixed package export bug that generated an 'empty' package when you click 'Export' without anything selected
- BUGFIX: No longer calling $pods_roles immediately, only used when needed in the code
- BUGFIX: &$referenced the $pods_cache variable to $cache for backwards compatibility - use $pods_cache going forward
- BUGFIX: Fixed minor PHP warnings/notices that come up when WP_DEBUG is defined and set to true
1.9.7.4 (Jul 14, 2011)
- BUGFIX: esc_html replaced with esc_textarea for Package Export and textarea usages to prevent breaking html entities
- BUGFIX: Fixed errors when you enter a field that doesn't exist, for inclusion in a publicForm
1.9.7.3 (Jul 6, 2011)
Go to page: 1
2
3
5
- BUGFIX: Fixed Uploader cookie-handling for advanced usage (1.9.7.2 would not appear on wp.org for some reason)
