User Tools

Site Tools


developers:changes_to_note:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
developers:changes_to_note:start [2013/06/25 20:49]
jonyo [Use head_html instead of header_html 7.3]
developers:changes_to_note:start [2014/09/25 16:55] (current)
Line 449: Line 449:
 <code html> {*  Add new order not completed... <code html> {*  Add new order not completed...
  <div class='center'>  <div class='center'>
- <a class='mini_button' href='/support/geocore-wiki/doku.php/id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,page,admin_cart;userId,{$userId};action,new;main_type,listing_edit;listing_id,{$listingId};;;;;;;;;;;;;;;;;;;;;/'>Edit Listing Details</a>+ <a class='mini_button' href='/support/geocore-wiki/doku.php/id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,page,admin_cart;userId,{$userId};action,new;main_type,listing_edit;listing_id,{$listingId};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/'>Edit Listing Details</a>
  </div>  </div>
  *}</code>  *}</code>
Line 456: Line 456:
 <code html> <code html>
  <div class='center'>  <div class='center'>
- <a class='mini_button' href='/support/geocore-wiki/doku.php/id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,page,admin_cart;userId,{$userId};action,new;main_type,listing_edit;listing_id,{$listingId};;;;;;;;;;;;;;;;;;;;;/'>Edit Listing Details</a>+ <a class='mini_button' href='/support/geocore-wiki/doku.php/id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,support;geocore-wiki;doku.php;id,page,admin_cart;userId,{$userId};action,new;main_type,listing_edit;listing_id,{$listingId};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/'>Edit Listing Details</a>
  </div></code>  </div></code>
  
Line 788: Line 788:
   * **geoView->setHeaderVar()** renamed to **geoView->setHeadVar()** - the old function is deprecated. <   * **geoView->setHeaderVar()** renamed to **geoView->setHeadVar()** - the old function is deprecated. <
   * **geoView->setHeaderTpl()** renamed to **geoView->setHeadTpl()** - the old function is deprecated. <   * **geoView->setHeaderTpl()** renamed to **geoView->setHeadTpl()** - the old function is deprecated. <
 +  * **geoView->getAssignedHeaderVars()** renamed to **geoView->getAssignedHeadVars()** - the old function is deprecated. <
  
 +==== New {footer_html} and {add_footer_html} tags 7.3 ====
 +
 +As part of bug 899, we've added a new tag [[designers:custom_plugins#footer_html|{footer_html}]] which will display "delayed JS" on the page.  It is only used if the admin has turned on the setting in **design > settings** to move certain JS to the {footer_html}.  Now calls to **geoView->addJScript()**, and **geoView->addTop()** - the former has new parameters to "force" the JS to only load in the head.  It defaults such that it will move the JS file to be loaded in the footer_html automatically (if set to use {footer_html}).
 +
 +We've also added {add_footer_html} ... {/add_footer_html} smarty block function which serves to move the contents to the {footer_html} if the admin has turned on using the {footer_html} tag.
 +
 +Things to be aware of:
 +  * Any JS needs to be done so that it works whether it is loaded in the top or the bottom.  If you are using jQuery() to delay the JS until the page is loaded, you are already doing this.  <
 +  * If you have embedded JS inside templates (which is fine in certain circumstances), that uses anything "built in" - use the new block tags **{add_footer_html}** and **{/add_footer_html}** before and after the JS.  See [[designers:custom_plugins#add_footer_html|{add_footer_html}..{/add_footer_html}]] for more details of usage.  <
 +  * Calls to **geoView->addTop()** will automatically be loaded in footer_html if it "looks like" Javascript being added.  If the stuff you are adding to the top "needs" to be loaded in the top, use the new parameter to force it to be in the top not the footer. <
 +
 +==== Changed User_management_information_display_user_data 7.3 ====
 +
 +Added ability to return array of arrays, to allow each order item OR addon that uses the hook, to return multiple rows to be displayed on the user information page.
 +
 +===== To 7.4 =====
 +
 +==== Category saved differently for listings 7.4 ====
 +
 +=== Inserting / Updating Listings ===
 +
 +This is likely to break any addons that insert or update listings, that set the category.  Instead of setting the category column in geodesic_classifieds table, in 7.4 instead call **geoCategory::setListingCategory($listing_id, $category_id)** and that method will insert the category for the given listing ID.  Or see that method's source code for how to insert it in the database yourself((Note that using the method to insert is recommended as it will probably be more "update friendly".))  Note that without the changes, it may "seem" to work at first glance on software updates, but new installations will not have the category column so will cause an error when inserting / updating.  Also, even on updates, just setting the category column will have no effect if not also inserted the "correct" way for 7.4 and up, that listing will be treated just as if the category is not set at all.
 +
 +If it only sets the session_variables and lets the "built in" order item(s) insert the listing, no changes are needed as you would still just set the $session_variables['category'] to the ID and the built-in order item will insert the categories correctly.
 +
 +=== Browsing / Filtering by Category ===
 +
 +If browsing / filtering by category, no longer use the "in_statement" If your custom addon uses "in_statement" it will need to be updated.  The recommended method is to use the **geoTableSelect** for "building" the query, and using the new method **geoBrowse->whereCategory()** to make the adjustments to filter by specified category.  If doing it "by hand", the idea is to check if the listing is in the category using a simple query:
 +
 +<code mysql>SELECT * FROM `geodesic_listing_categories` WHERE `category`=#</code>
 +Where # is the category ID.  We would recommend to use that as a "sub query" to your main query, similar to this:
 +
 +<code mysql>SELECT * FROM `geodesic_classifieds` WHERE `live`=1 ... AND EXISTS(SELECT * FROM `geodesic_listing_categories` WHERE `geodesic_listing_categories`.`listing`=`geodesic_classifieds`.`id` AND `geodesic_listing_categories`.`category`=#)</code>
 +Where # is the category ID...  The query is simplified for brevity, obviously having ... is not a valid query.
 +
 +==== Category Name / Description / Image in Language Table 7.4 ====
 +
 +In past versions, the category name and description were duplicated, set in the main geodesic_categories table and also in the languages table (now called geodesic_categories_languages as noted in next change).  Now both are only set in **geodesic_categories_languages** so as to avoid confusion, and to be consistent with other areas that have language tables.
 +
 +Also note that the image has moved to the geodesic_categories_languages table as well.
 +
 +==== geodesic_classifieds_categories_languages renamed to geodesic_categories_languages 7.4 ====
 +
 +As the title says, the table **geodesic_classifieds_categories_languages** is now named **geodesic_categories_languages**.  Note that if you used the built-in **geoTables::categories_languages_table** or **$db->geoTables->categories_languages_table** those have been updated to reflect the new name, so you may not need to make any changes in your own code depending on how you reference the table.
 +==== geoCategory::getInStatement() Removed 7.4 ====
 +
 +As part of bug 1082, the method geoCategory::getInStatement() has been removed.  Simply put, there is no more in_statement for categories.
 +
 +==== geoCategory::updateInStatement() Removed 7.4 ====
 +
 +As part of bug 1082, the method geoCategory::updateInStatement() has been removed.  Simply put, there is no more in_statement for categories.
 +
 +==== geoSite::get_sql_in_statement() Remove 7.4 ====
 +
 +As part of bug 1082, the method geoSite::get_sql_in_statement() has been removed.  Simply put, there is no more in_statement for categories.
 +
 +==== New listing "field type" of "yesno" for listings 7.4 ====
 +
 +As part of bug 1128, there are 2 new fields for classifieds (and auctions), "show_contact_seller" and "show_other_ads", both of which are set to either "yes" (default value) or "no" And the part that is important here, there is a new "type of field" for those listings, "yesno" which indicates to the validation that the value is either going to be "yes" or "no" Any other value would be evaluated as "no".
 +
 +==== JS function geoUtil.autoSubmitForm() moved 7.4 ====
 +
 +In the ongoing task to convert existing functionality to use jQuery instead of Prototype, the old function geoUtil.autoSubmitForm() has been converted to jQuery and moved to gjUtil.autoSubmitForm() as part of bug 1163
 +
 +==== JS geoUtil.instrBtns removed 7.4 ====
 +
 +As part of bug 1212: The "instruction buttons" moved to the geoListing JS object, and simplified (converted to use jQuery), and the before/after animation callbacks removed.  They were originally used for the old image upload as it used flash, and the flash button needed to be moved after animation happened and moved the location, but that is no longer required with new uploader.
 +
 +==== JS geoTabs Replaced 7.4 ====
 +
 +The old geoTabs has been replaced by a in-house jQuery plugin, gjTabs.  It automatically initializes it for any tabs with the same old classes assigned.
 +
 +What you need to note, if you have any custom "callbacks" for when the tabs are activated, those need to be updated.
 +
 +**Old Way:**
 +<code js>geoTabs.tabCallbacks.tabId = function () {
 +//function to run when the tab with id of tabId is activated
 +};</code>
 +
 +**New Way:**
 +<code js>jQuery('#tabId').gjTabs('onActive',function () {
 +//function to run when the tab with id of tabId is activated
 +});</code>
 +
 +**Hint:** If want to make it backwards / forwards compatible((This is NOT recommended for new development as it can get hairy, since new version only jQuery will be available)), could use something like:
 +<code js>var myCallback = function () {
 + //function to run when the tab with id of tabId is activated
 +};
 +if (typeof geoTabs !== 'undefined') {
 + //use old way
 + geoTabs.tabCallbacks.tabId = myCallback;
 +} else {
 + //new way
 + jQuery('#tabId').gjTabs('onActive',myCallback);
 +}</code>
  
developers/changes_to_note/start.1372193374.txt.gz · Last modified: 2014/09/25 16:55 (external edit)