You are here

CHANGELOG.txt in Advertisement 5

October 8th 2009
 - ad_image.module
    o bug #594610: retain fid when updating image ad

April 14th 2009
 - ad.install
    o bug #431292: fix typo in ad.install affecting PostgreSQL installs

August 11th 2008
 - adserve.inc
    o bug #220817: support installations using symbolic links
    o feature #177885: optionally apply filters when displaying ads
 - ad.module
    o feature #177885: allow configurable filtering of ads
 - ad_cache_file.module
    o feature #177885: optionally apply filters when displaying ads
 - ad_cache_memcache.module
    o feature #177885: optionally apply filters when displaying ads
 - ad_external.module
    o feature #177885: optionally apply filters when displaying ads
 - ad_html.module
    o feature #177885: optionally apply filters when displaying ads
    o remove unnecessary database query.
 - ad_image.module
    o feature #177885: optionally apply filters when displaying ads
    o remove unnecessary database query.
 - ad_text.module
    o feature #177885: optionally apply filters when displaying ads
    o remove unnecessary database query.

August 10th 2008
 - ad.module
    o feature #250289: add jQuery method for displaying advertisements
    o feature #233568: add support for per-ad-type default permissions
 - ad_cache_memcache.module
    o bug #271912: gracefully report when memcache is not installed
 - adserve.inc
    o bug #271477: id can't start with a number
    o feature #250289: support jQuery method to display advertisements
 - ad.install
    o feature #233568: flush menu cache to support per-ad-type default perms
 - ad_image.module
    o feature #233568: new settings page format for per-ad-type permissions
 - ad_text.module
    o feature #233568: new settings page format for per-ad-type permissions

August 9th 2008
 - adserve.inc
    o bug #288489: add missing argument 2 for variable_get()
    o feature #274297: allow modules to define their own ad display variables

July 24th 2008
 - ad_cache_memcache.inc
    o implement adserve_exit_text hook

July 11th 2008
 - adserve.inc
    o allow module using adserve_select to report when there are no more ads
 - ad_cache_memcache.module
    o asynchronously process changed nodes during cron runs
    o now support multiple hooks, so rename ad-cache-init to ad-cache-hook
 - ad_cache_memcache.inc
    o simplify code by using _debug_echo() when possible
    o preface debug calls with 'Memcache:' to make tracing more clear
    o replace ad_cache_memcache_init() with generic ad_cache_memcache_hook()
    o implement adserve_select hook

July 10th 2008
 - adserve.inc
    o support multiple arguments when invoking function in file
    o simplify code by using _debug_echo() when possible
    o support caches with adserve hooks
 - ad_cache_file.inc
    o simplify code by using _debug_echo() when possible
    o preface debug calls with 'File cache:' to make tracing more clear
    o make cache data re-usable without having to reload it
    o introduce adserve_select hook
    o set sane file cache defaults

July 9th 2008
 - adserve.inc
    o adserve hooks: if include file defined and necessary, include file
    o adserve hooks: if function defined and existing, call function

June 27th 2008
 - ad.module
    o support adserve actions, allowing external modules to execute functions
      from adserve.inc, without bootstrapping Drupal or connecting to the db.
 - adserve.inc
    o rename adserve_invoke() function to adserve_invoke_file()
    o introduce adserve_invoke_action() function
    o simplify ad selection when not using a cache, using the standard
      adserve_select_ad function that's used by caches
    o remove considerable amount of no longer needed code
    o replace clunky _exit hook with adserve action
    o remove clunky _invoke_weight hook, to be replaced as adserve action
    o new actions: 'adserve_init_text', 'adserve_exit_text', 'adserve_select'

June 20th 2008
 - ad.module
    o bug #270808: set default value when calling variable_get()
    o bug #242738: XHTML-Strict compliance, use onclick handler instead of 
                   target (patch thanks to Daniel Kudwien, aka 'sun')

June 12th 2008
 - ad.module
    o bug #269808: be sure variable is an array before walking with foreach

May 31st 2008 (1.5)
 - ad_cache_memcache.info
    o plugin doesn't actually depend on Drupal memcache module
 - ad.module
    o remove ad_init, no longer include ad_views.inc (it has been moved to 
      an external project where it will hopefully receive more attention by
      those that depend on it)
 - documentation
    o minor edits keeping things in sync with latest codebase
 - ad_views.inc
    o deleted, moving views support into external project where it will
      hopefully find a new, ambitious maintainer.

May 11th 2008
 - ad.module
    o bug #255997: update online documention to reflect that ad views are
                   properly tracked regardless of the display method.

May 10th 2008
 - ad_cache_file.inc
    o bug #246257: avoid error if no ads are selected

April 21st 2008 (1.5-rc2)
 - ad_views.inc
    o bug #141539: fix current user filter

April 19th 2008
 - ad.install
    o bug #248670: add missing commas
 - ad_weight_percent.install
    o bug #248663: remove trailing ?>
 - ad_weight.info
    o bug #248663: add missing Id tag
 - ad_image.module
    o bug #248663: remove packaging info accidently included in info file
   
April 17th 2008
 - ad.module
    o  bug #248423: auto-fix when ad vocabulary information gets corrupted
                    (unfortunately we haven't tracked down how this happens)

April 17th 2008 (1.5-rc1)
 - ad.module
    o feature #221648: provide filtering on administrative ad overview page
 - ad_image.module
    o bug #242738: add missing alt tags
    o feature #142864: make destination URL optional
    o validate that an image is attached before inserting/updating image ad
 - ad_views.inc
    o bug #172807: fix default group views (patch by malaussene)
    o bug #141539: only display "my ads" link when appropriate
 - ad.install
    o bug #248016: add missing breaks that resulted in both mysql and 
      postgresql updates being run

April 15th 2008
 - ad.module
    o merge ad_clicks code that somehow didn't make it in the last merge
    o bug #246458: load cached versions of the node
    o bug #233073: allow other modules and themese to over ride page title
    o bug #183085: remove closing ?>
 - ad.install
    o bug #227967: fix install updates to work with PostgreSQL
 - ad_image.module
    o bug #183085: remove closing ?>
    o bug #237833: proprely record fid when first uploading image ad
 - ad_cache_file.module
 - ad_cache_memcache.module
 - ad_external.module
 - ad_notify.module
 - ad_report.module
 - ad_text.module
 - ad_weight_percent.module
    o bug #183085: remove closing ?>

April 3rd 2008
 - ad.install
    o introduce adgroup into ad_statistics and ad_clicks
 - ad.module
    o track ad group on redirect
    o track ad group in statistics, when applicable
    o validate aid, group and hostid on redirect
 - serve.php
    o track ad group
    o support passing in url where ads are displayed
 - ad_cache_memcache.module
    o sync ads not in any group along with ads in groups
    o track ad group in statistics
 - ad_cache_memcache.inc
    o track ad group in statistics
    o add additional debug

March 27th 2008
 - ad.module
    o Bug #239260, #222518 Remove query on nonexistent field that made it 
      impossible to publish an unpublished ad.
    o Bug #233538, revert 'manage advertisements' back to 'edit own 
      advertisements'

March 23rd 2008
 - ad.module
    o Introduce click [details] page
    o Allow url to be passed in on redirect

March 14th 2008
 - ad_weight_percent.module
    o remove various infinite loops

March 13th 2008
 - adserve.inc
    o no need to pass an adserve variable to exit (as exit as access to all
      adserve variables)

March 12th 2008
 - ad_cache_memcache.module
    o invoke ad_build_cache hook
 - ad_cache_memcache.inc
    o allow override from ad_build_cache hook
 - click_filter.module
 - click_filter.install
    o filter out clicks from search engine bots

March 11th 2008
 - ad_cache_memcache.module
    o wrap ad syncronization in a lock
 - ad_cache_memcache.inc
    o remove unecessary duplicate get from memcache for ad structure
    o repopulate ad information in memcache on error (throttled)

March 10th 2008
 - ad_cache_file.module
    o properly return ad configuration to not conflict with other cache types
 - ad_cache_file.inc
    o add additional debug output
 - adserve.inc
    o rename remaining instances of 'cache' to 'adcache' to avoid conflicts
 - ad_cache_memcache.module
 - ad_cache_memcache.inc
    o introduce new high-performance ad caching mechanism utilizing memcached

March 6th 2008
 - adserve.inc
    o rename adserve variable 'cache' to 'adcache' to not conflict with Drupal's
      core page cache functionality if hard coding values in settings.php
    o bug #228650: properly check if DRUPAL_ROOT is defined

February 5th 2008
 - ad_views.inc
    o bug #141539: fix Views "my ads" link (fix thanks to Wade Fitzpatrick)

January 30th 2008
  - ad_report.module
     o make statistics functions a little more generic, making it possible to
       display per-user reports in addition to per-ad reports.  Also provide
       hook allowing externally defined reports.

January 24th 2008
  - ad_cache_file.inc
     o introduce 'include_file_init' and 'include_func_init' for over-riding
       initilization for serving ads from the file cache
  - adserve.inc
     o when calling ad_exit hook, indicate whether or not there were errors

January 23rd 2008
 - ad.install
    o bug #213163, add missing comma during ad_clicks table creation
 - ad_image.module
    o bug #190938, use proper encoding to display special characters properly

January 17th 2008
 - click_filter.info
    o new module for filtering clicks
 - click_filter.install
    o parse existing clicks, updating status
 - click_filter.module
    o new module for filtering clicks, currently filters clicks by ad owners
      and duplicate clicks by same IP or UID
 - ad.module
    o support new click_filter module
 - ad.install
    o add new status column for ad clicks
 - ad_cache_file.inc
    o sync (make counting of actions generic, dropped from earlier merge)

January 16th 2008
 - ad.module
    o internally switch adserve variable name 'method' to 'ad_display' to match
      the variable name used in ad.module.
 - adserve.inc
    o perform partial drupal bootstrap to allow variable overloading
    o rename 'method' to 'ad_display' to ease overloading of variable
    o new logic for allowing adserve variable overrides from settings.php
    o allow adserve_bootstrap to be called multiple times at different levels
    o introduce 'ad_exit' hook
    o add cache support to adserve_increment
    o make counting of actions generic, not limited to 'view' and 'count'
 - imageserve.inc
    o perform partial drupal bootstrap to allow variable overloading
    o remove adserve_increment special logic
 - ad_cache_file.module
    o make counting of actions generic, not limited to 'view' and 'count'

January 14th 2008
 - ad.module
    o bug #209751: alt missing when displaying counter image (thanks to attiks)

January 13th 2008
 - ad_cache_file.module
    o cache and enable all hostids, not just those associated with active ads

January 11th 2008 (1.4.1)
 - ad.module
    o fix URL to properly count views when displaying ads with raw mode
 - imageserve.inc
    o replace adserve_increment_view() with adserve_increment()
 - ad_image.info
    o refer to module as "Image Ad"

January 11th 2008 (1.4)
 - ad.module
    o bug #165355, allow editing of ads with CCK
    o bug #208421, naming convention for id attribute doesn't allow commas
    o bug #162197, verify that cached advertisement vid is valid
    o bug #207677, be sure "show advertisements" permission is assigned to at 
      least one role
    o don't display ad status in ad overview
 - ad_text.module
    o bug #197357, allow full 255 characters for url field defined in schema
    o bug #202934, wrap "Links to" text in div for themability
 - ad.install
    o bug #193094, no need to specify UNIQUE for PRIMARY KEY
 - ad_text.install
    o bug #193094, no need to specify UNIQUE for PRIMARY KEY
 - ad_image.module
    o bug #202934, wrap "Links to" text in div for themability
    o bug #208180, verify that attachements are enabled for ad content type
    o bug #193934, don't lose image ad data if image isn't validated
    o bug #207677, if using private download method, be sure "view uploaded 
      files" permission is assigned to roles that should see ads
 - ad_html.module
    o don't display "Links to:", as html ads don't have internal links

January 9th 2008
 - ad.install
    o introduce "status" column into ad_host table

January 8th 2008
 - ad.module
    o add imageserve support for tracking traffic without ads
 - ad_cache_file.module
    o add support for tracking traffic without ads
 - ad_cache_file.inc
    o add support for tracking traffic without ads
 - imageserve.inc
    o add support for tracking traffic without ads
 - adserve.inc
    o add support for tracking traffic without ads
    o don't choke if DRUPAL_ROOT global isn't set

January 6th 2008
 - ad_remote.module
    o general cleanup

January 5th 2008
 - adserve.inc
    o remove superfluous quotes accidentally added in bugfix #206177
 - ad.module
    o bug #196431: wrap ad status in "access statistics" permission, and in
      "adstatus" div class

January 4th 2008
 - adserve.inc
    o bug #206177: properly escape text before displaying with JavaScript

December 4th 2007
 - adserve.inc
    o add optional DRUPAL_ROOT configuration option to support installations
      utilizing a symbolic link

October 22nd 2007
 - adserve.inc
    o uncomment out debug dump of advertisement
 - ad.module
    o introduce global variable 'ad_link_nofollow'
    o new helper functin 'ad_link_nofollow' for adding link when global enabled
      (Sponsored by Connie at WebsitesForTheArts.com)
 - ad_image.module
    o add ad_link_nofollow support
      (Sponsored by Connie at WebsitesForTheArts.com)
 - ad_text.module
    o add ad_link_nofollow support
      (Sponsored by Connie at WebsitesForTheArts.com)
 - ad_html.module
    o new simple html ad type with no click-through tracking
      (Sponsored by Connie at WebsitesForTheArts.com)

October 18th 2007
 - ad_external.module
    o new ad type for serving remotely hosted ads via an iframe
    o if ad_cache_file is enabled, cache remote page in file cache
 - adserve.php
    o renamed to serve.php
 - serve.php
    o add hooks so external modules can utilize serve.php for serving data
      without bootstrapping Drupal
 - adserve.inc
    o add new 'iframe' method, along with 'raw' and 'javascript'
    o add initial support for external weighting modules
    o make adserve_invoke_cache() generic, adserve_invoke()
 - ad.module
    o look for 'serve.php', not 'adserve.php'
    o add new IFrame display method
 - ad_cache_file.module
    o add new "ad_build_cache" hook, to be used by external ad modules
 - ad_cache_file.inc
    o build full path to cache files to allow calling from any path
 - ad_weight_percent.inc
    o initial implementation of percentage based weighting module
 - imageserve.inc
    o change call from adserve_invoke_cache() to adserve_invoke()

September 26th 2007
 - ad_install.module
    o bug #175687: set db prefix for Postgres installations
    o bug #175683: Postgres doesn't support 'AFTER' when altering table

September 7th 2007
 - ad_image.module
    o put more information about the image ad into the $node array
    o feature #170667: only perform url validation if enabled
 - ad_text.module
    o put more information about the text ad into the $node array
    o feature #170667: only perform url validation if enabled
 - ad.module
    o track the HTTP_USER_AGENT on ad clicks (to allow filtering clicks 
      generated by bots that report themselves as bots)
    o bug #166097: fix "only variables can be passed by reference" error
    o feature #170667: provide option to disable url validation
 - ad.install
    o add user_agent column to ad_clicks table for tracking user agents
    o bug #173850: call variable_del(), not variable_delete()
    o update uninstall to delete new 'ad_validate_url' variable

September 6th 2007
 - ad_weight_percent.inc
 - ad_weight_percent.info
 - ad_weight_percent.install
 - ad_weight_percent.module
    o implemented GUI and schema for weighting how often ads within each ad 
      group are displayed as a percentage of 100%.  actual logic to display
      ads per these settings is not yet implemented.

August 31st 2007
 - adserve.inc
    o add simple default logic for randomly selecting ads.
 - ad_cache_file.inc
    o remove random ad selection logic, now done in adserve.inc.

August 7th 2007
 - ad.module
    o improve usability of ad overview page (order by status, link to ad node)

August 3rd 2007 (1.3.2 Release)
 - ad.module
    o bug #164217: restore ability to set global click-through target
 - imageserve.inc
    o tell web browsers not to cache images used for counting ad views

July 30th 2007
 - adserve.inc
    o bug #163058: simplify query filter, join not necessary
 - ad_report.module
    o add views for hourly, weekly and monthly, in addition to daily

July 29th 2007 (1.3.1 Release)
 - ad_cache_file.inc
    o fixed a typo that prevented ads from being displayed with the file cache

July 29th 2007 (1.3 Release)
 - ad_module
    o Allow displaying of image counters without CSS (useful if displaying on
      RSS pages)

July 25th 2007
 - ad_cache_file.inc
    o move logic for obtaining a lock on a cache file into a function for reuse
    o track file descriptor as static in function for easily passing around
 - adserve.inc
    o move cache invocation into function for reuse
    o make it possible to unset an adserve_variable()
 - imageserve.inc
    o functions to display blank images for counting ad views

July 24th 2007
 - adserve.php
    o remove all logic, only used to display ads
    o add path for displaying counter images
 - adserve.inc
    o initial support for calling adserve() multiple times
    o initial support for displaying ads without using javascript
    o move code into functions to share with imageserve()
    o use images to count views if displaying raw ads
 - ad_cache_file.inc
    o initial support for calling adserve() multiple times
 - ad.module
    o initial support for displaying ads without using javascript
    o make ad display method configurable
    o new function to display an image for counting ad views
 - ad.install
    o remove ad_display variable on uninstall

July 18th 2007 (1.2 Release)
 - adserve.php
    o bug #152610: call addslashes() to escape quotes
    o simplify javascript output path
 - ad_cache_file.inc
    o bug #152610: escape ' in JavaScript
 - ad.module
    o bug #153901: fix translation of ad permissions
 - ad_text.module
    o bug #153901: fix translation of ad permissions
 - ad_image.module
    o bug #153901: fix translation of ad permissions

July 16th 2007
 - ad.info
    o bug #148533: ad module depends on taxonomy module
 - ad_cache_file.inc
    o bug #159239: be sure variables exist before we test their contents
    o bug #159237: be sure variables exist before we test their contents
 - ad.module
    o don't display error unnecessarily first time ad() is called
    o cleanup adserve.php-doesn't-exist-error to properly display link
 - ad_image.module
    o bug #153319: fix issues with enabling Image ads when no ad groups have 
      been created - patch thanks to Grugnog2, problem isolated by yodersj

June 8th 2007
 - ad.module
    o bug #150069: set unique id when displaying ads
 - ad_image.module
    o bug #150141: properly update ad_image_format table
 - ad_embed.module
    o bug #150142: don't display auto-embedded ads in teasers
 - ad.install
    o feature #150236: add _uninstall hook
 - ad_image.install
    o feature #150236: add _uninstall hook
 - ad_notify.install
    o feature #150236: add _uninstall hook
 - ad_text.install
    o feature #150236: add _uninstall hook

-------------
June 7th 2007
 1.1 Release
-------------

June 6th 2007 (-RC3)
 - ad_cache_file.module
    o bug #147575: load user before calling user_access().
 - ad.install
    o bug #148623: update block deltas during upgrade from 1.0 -> 1.1.
    o bug #149770: don't display ads twice when 'always display ads' is checked
 - ad_embed.module
    o bug #149770: don't display ads twice when 'always display ads' is checked
 - ad_image.module
    o bug #146147: don't allow image ads to be enabled if they have a 0 size.

June 5th 2007
 - ad.module
    o bug #148756: the ad group description is no longer optional.

June 1st 2007
 - ad.module
    o bug #148160: properly set tid so groups can be updated

May 31st 2007
 - ad.install
    o bug #147733: properly convert ads to new groups during upgrade

May 28th 2007
 - ad.module
    o hard code tid 0 (ie, ad is assigned to no groups) as "default" group.
    o restore global administrative statistics
    o clean up per-ad statistics.
 - adserve.php
    o fix query to properly display ads without any taxonomy term.

May 27th 2007 (1.1-rc1)
 - adserve.php
    o bug: add missing space to debug text.

May 25th 2007
 - ad_notify.module
    o bug #142648: remove unused settings page
    o use AD_NOTIFY_DISABLED and AD_NOTIFY_ENABLED instead of 1 and 0
 - adserve.php
    o bug #146361: set headers to prevent javascript from being cached by
      browser.  Thanks to Joep Hendrix.
 - ad.module
    o bug #146785: be sure $groups is an array() to prevent errors when no
      groups are defined.
    o bug #136004: add support for PostgreSQL
 - ad.install
    o bug #136004: add support for PostgreSQL
 - ad_image.install
    o bug #136004: add support for PostgreSQL
 - ad_text.install
    o bug #136004: add support for PostgreSQL
 - ad_notify.install
    o bug #136004: add support for PostgreSQL

May 24th 2007
 - ad.module
    o enhance ad_groups_list() to return either a specified group or all groups,
      also enhanced to return just the group name or the full group object
 - ad_image.module
    o bug #143251: do not query nonexistent ad_groups table
    o fix logic to use taxonomy terms tid instead of nonexistent group gid

May 23rd 2007
 - adserve.php
    o bug #144436: replace hard coded <br /> between ads with <div>
    o add support for displaying ads without any taxonomy term
 - adserve.php
    o bug #144436: replace hard coded <br /> between ads with <div>

May 11th 2007
 - ad.install
    o bug #143207: separate {} and $variable
 - ad_image.install
    o bug #143207: separate {} and $variable
 - ad.module
    o bug #142874: fix typos

May 9th 2007
 - ad.modlue
   o bug #142562: add missing calls to t()
   o bug #142583: in adserve url convert "&" to "&amp;" so it validates
 - ad_cache_file.module
   o bug #142583: in adserve url convert "&" to "&amp;" so it validates

May 8th 2007
 - adserve.php
    o removed groups (replaced by taxonomy tids)
 - ad_cache_file.module
    o remove groups cache
    o include in cache ads that aren't assigned to a taxonomy
 - ad_cache_file.inc
    o remove references to group cache
    o check for ads that are not assigned to a taxonomy
 - ad.module
    o replace custom groups code with taxonomy functions
 - ad_embed.module
    o use tids instead of group name
 - ad_notify.module
    o remove references to group
 - ad_remote.module
    o use taxonomy tids rather than group name when building remote snippet
 - ad.install
    o convert ad_group table entries to taxonomy
    o remove ad_group table
    o remove gid calumn from ads table
    o bug #129749: default to utf8 character set for all table types
    o bug #142183: TEXT columns can't set DEFAULT
 - ad_views.inc
    o remove most groups logic
    o update group blocks to use taxonomy
 - ad_text.install
    o bug #129749: default to utf8 character set for all table types
    o bug #142183: TEXT columns can't set DEFAULT
 - ad_image.install
    o bug #129749: default to utf8 character set for all table types
 - ad_notify.install
    o bug #129749: default to utf8 character set for all table types
    o bug #142183: TEXT columns can't set DEFAULT

May 7th 2007
 - adserve.php
    o support displaying ads based on taxonomy tids
 - ad_cache_file.module
    o build cache for taxonomy tids
 - ad_cache_file.inc
    o support displaying ads based on taxonomy tids
 - ad.module
    o support setting term list from ad() function

May 6th 2007
 - adserve.php
    o make 'error' variable accessible to cache plugins
 - ad_cache_file.module
    o added support for hostid
    o redesigned cache struct to support additional lookups
    o make cache lifetime configurable
 - ad_cache_file.inc
    o added support for hostid
    o utilize new cache struct
    o improved debug output
    o make cache lifetime configurable

May 5th 2007
 - ad.module
    o make hostid accessible
    o set absolute path in the redirect url
 - ad.install
    o convert redirect urls to absolute paths
 - ad_remote.module
    o simple proof-of-concept for hosting ads on remote websites
 - adserve.php
    o add hostid to redirect URL
    o bug #141630: don't print visible message when no ads exist
 - ad_image.module
    o use @HOSTID___ token so hostid can be set in cached content
 - ad_text.module
    o use @HOSTID___ token so hostid can be set in cached content

May 4th 2007
 - ad_text.module
    o stop stripping the letter 'v' from all text ads

------------
May 4th 2007
1.0 Release
------------

May 3rd 2007 (beta9)
 - ad.module
    o remove all file cache logic
    o implement hooks for externally defining ad caches
    o cleanup ad() to only display url variables that are actually used
    o implement hook for upcoming event notifications (activate and expire)
 - adserve.php
    o remove all file cache logic
    o implement hooks for externally defining ad caches
 - ad_cache_file.module
    o implement file cache as plug-in module
 - ad_cache_file.inc
    o implement file cache as plug-in module
 - ad_cache_file.info
    o implement file cache as plug-in module
 - ad_notify.module
    o implement hook to support upcoming event notifications
 - ad_image.module
    o bug #140804: support private download method

May 2nd 2007
 - ad.module
    o bug #134889: don't display statistics and click history in teaser
    o when no ads are displayed due to permissions display a helpful html 
      comment noting the need to grant 'show advertisements' permissions.
 - ad_text.module
    o bug #132525: validate destination URL
 - ad_image.module
    o bug #132525: validate destination URL

May 1st 2007
 - ad.module
    o translate adtype on display
 - ad_image.module
    o bug #139068: do not translate $adtype
    o encode with UTF-8 charset
 - ad_text.module
    o bug #139068: do not translate $adtype
    o bug #129749: encode with UTF-8 charset
 - ad_embed.module
    o bug #139167: don't try to replace tags with ads if there's no text
 - adserve.php
    o don't test $nids if isn't set (for E_ALL compat)

May 1st 2007 (beta8)
 - ad.module
    o convert '%' to '@' to prevent <em> from showing up in emails
    o add default text for notification emails
    o remove duplicate code
 - ad_notify.install
    o add aid column to ad_notify table
 - ad_notify.module
    o add default text for notification emails
    o display help text for notification email variables
    o perform proper substitions on variables in notification mails
    o prevent editing and deletion of locked notifications by non-privileged 
      users
    o support notification deletion
    o support editing of notification email text
    o use drupal_mail function instead of nonexistant drupal_mail function
    o convert '%' to '@' to prevent <em> from showing up in emails

April 30th 2007
 - adserve.php
    o bug #140173: add missing ";" at end of javascript.

April 29th 2007
 - ad_image.module
    o bug #131028: reference $file structure as an object

April 28th 2007
 - ad_image.module
    o add ability to set mouseover (tooltip) text when hovering a mouse over
      the ad image.
 - ad_image.install
    o schema change to add field for mousever text.

April 27th 2007
 - ad_notify.module
    o allow editing of notifications and the message text
    o preliminary support for deleting notifications

April 26th 2007
 - adserve.php
    o remove debug output preventing ads from displaying

April 24th 2007
 - adserve.php
    o bug #131035: move path variables from global to local statics, move
      adserve logic into function out of global space.
    o include extra debug information showing version of all ad files

April 21st 2007
 - ad_image.info
    o add dependency on upload module
 - ad_notify.module
    o don't show 'my notifications' tab unless viewing an ad you own

April 17th 2007
 - adserve.php
     o bug #131035: move adserve variables from global into local statics
       (the Drupal bootstrap was wiping the globals depending on the PHP
        configuration.)

April 13th 2007
 - ad.module
    o bug #135144: don't translate ad status when storing in database, only
      when displaying to screen
 - adserve.php
    o be sure variables are set before accessing them to allow running PHP in
      E_ALL mode

April 4th 2007
 - ad_image.module
    o bug #127944: build path to image file using file_create_url()
    o bug #131022: put all settings under settings tab
 - ad.module
    o bug #131023: don't wrap block title in <em>
 - ad.install
    o bug #130968: add missing prefix
 - ad_text.install
    o bug #129469: add missing prefix

February 27th 2007
 - ad.module
    o reorder logic so we only return once
 - ad_notify.install
    o rename table from ad_notifications to ad_notify
    o rename "time" to "delay" to make clode more clear
    o introduce "queued" row for tracking notification delays
    o add additional indexes for better performance
 - ad_notify.module
    o introduce _cron hook for sending and tracking scheduled notifications
    o introduce send_mail function for sending email notifications
    o introduce "mail_text" hook for setting email text
    o validate notifications before saving them
    o rename references to old ad_notifications table to new ad_notify table

February 25th 2007
 - ad.install
    o fix bug #122289: restore missing parenthesis.

February 22nd 2007
 - ad.module
    o re-arrange ad notifications, add additional notification events
 - ad_notify.install
    o add field for one time use notifications (auto-expiring)
    o add field for counting
    o add field for disabling notifications
 - ad_notify.module
    o replace 'manage all notifications' with already existing permission 
      'manage owners'
    o add 'my notifications' tab for users to manage their own notifications
    o add GUI option for one-time notifications (auto-expiring)
    o add GUI option for locking notifications (ie, those created by admins that
      users can't disable).

February 21st 2007
 - ad.module
    o implement initial ad notification hooks
 - ad_notify.install
    o implement database schema for managing notifications
 - ad_notify.module
    o implement GUI for creating ad email notifications
    o implement api for registering notification events
      (NOTE:  notifications themselves are not yet implemented, I'm just
       checking in a work-in-progress.  If you choose to test this now, you'll
       likely need to manually dump your ad_notifications table later and 
       re-create it once the ad_notify module is actually released.)

February 19th 2007 (beta7)
 - ad_image.module
    o make it possible for someone with 'create advertisement' permission to
      be able to upload an image for their advertisement.
 - ad_text.module
    o make it possible for someone with 'create advertisement' permission to
      be able to enter text for their advertisement.

February 17th 2007 (beta6)
 - ad.module
    o display 'edit' tab for all ad owners, not just node owner
    o automatically give user with UID of 1 all ad permissions
    o log in watchdog if ad redirect fails
    o be sure all fieldsets and contents are collapsible on the edit form
    o don't require ad description as it's not used anywhere important
    o call theme functions properly
    o remove ad notifications logic, add hooks to allow notifications and other
      per-ad/per-owner functionality to be implemented in plug-in modules
 - ad.install
    o remove ad_notifications table and ad table notifcation columns
 - ad_image.module
    o new 'manage active ad' permission, don't allow ad owner to change the 
      active ad unless they have been granted this permission
    o fix image fieldset contents to properly collapse
 - ad_text.module
    o new 'manage ad text' permission, don't allow ad owner to change the
      ad text unless they have been granted this permission
 - ad_report.module
    o make it possible for users other than that with a UID of 1 to see the
      report images

February 5th 2007 (beta5)
 - ad_view.inc
    o add filter for owned ads so "my ads" default view can use ad_owners table
    o order pages by last updated timestamp
 - ad.module
    o feature #114638: configuration option for specifying the link target,
      i.e. open in same window when clicking ad, open in new window, etc.
 - ad_image.module
    o feature #114638: open link in configured link target
 - ad_text.module
    o feature #114638: open link in configured link target
 - ad_embed.module
    o pass proper user array to user_access()

February 4th 2007
 - ad.module
    o be sure <div> wrapping ads has proper group, specifying nids if not using
      a group.
    o modify ad_groups_list to support listing just group names.
 - ad_embed.module
    o implement automatically embedded ads, allowing per-content-type 
      configuration.  Specify after which paragraph to insert one or more 
      randomly selected ads from the chosen ad group.
    o introduce configuration options to disable scanning for manual tags (to  
      reduce overhead if this functionality is not being used).

February 3rd 2007
 - ad_embed.module
    o introduce 'embed ads in content' permission - only filter nodes owned by
      users with this permission. (which could have funky implications that
      we'll ignore for now).
    o add help text to module.
    o cleanup to make it simple to add additional tag styles if desired.
    o when replacing tags with ads in content adjust scan position for 
      differences of length between what is being replaced and what is 
      replacing.

February 2nd 2007
 - ad_embed.module
    o initial support for embedding ads within content. (ie, replaces [[ad]] or
      <!--ad--> with javascript for ad, supports parameters.)

January 31st 2007
 - ad.module
    o issue #114535: call _ad_check_install() if failing to display ads, 
      properly set "adserve" variable.
    o issue #114651: be sure cache file has contents before trying to loop
      through it.

January 29th 2007
 - ad_image.module
    o detect clean urls and display ad images appropriately
 - adserve.php
    o add additional debug to filecache when displaying ads from a list of nids
    o use default ad quantity of 1 if no quantity is specified

January 28th 2007 (beta4)
 - ad.module
    o support for displaying ads based on taxonomy and role with views (and
      much more)
    o if views module enabled, offer pages to ad owners listing all their ads,
      optionally filtered by adstatus.
 - ad_views.inc
    o add quantity field for specifying how many ads to display in view
    o add filter for ad type
    o improve filters to allow selection of multiple types, status or groups
    o default block views: all active ads, all active ads of each type, and all
      active ads of each group.
    o default page views: all active ads, all owner's ads, and views for each 
      all owner's ads of a given adstatus.
 - adserve.php
    o fix to support multiple ads when displaying by nid

January 27th 2007
 - ad_views.inc
    o initial field definitions for base ad module.
    o filter by: group, adstatus
    o add advertisement view type.
 - ad_image_views.inc
    o display image ad, incrementing view counter
 - ad_text_views.inc
    o display text ad, incrementing view counter
 - ad.module
    o include ad_views.inc if the view.module is enabled.
    o don't search for adserve.php, require it to be in ad folder with ad module
    o update ad() to allow specifying list of nids to display ads from
 - ad_image.module
    o include ad_views.inc if the view.module is enabled.
 - ad_text.module
    o include ad_views.inc if the view.module is enabled.
 - adserve.php
    o support displaying ads from list of nids instead of from group.

January 26th 2007
 - ad_image.module
    o use file_create_path() to generate proper path to image.
 - ad.module
    o be smarter when looking for adserve.php, derive path from ad.module path
      in system table.
    o if enabled, update file cache when ads are updated.
    o cleanup when changing number of ad files, or disabling file cache.
 - adserve.php
    o noncached display requires full bootstrap.

January 26th 2007 (beta3)
 - ad.install
    o updated_1: introduce new fields in {ads} table for tracking when ads were
      activated and expired, and for limiting the maximum number of views or
      clicks.
 - ad.module
    o feature #109688: support for scheduling based on views or clicks.
    o track when ad was last activated or expired.
    o improve status messages when viewing advertisement.
 - adserver.php
    o feature #109688: support for scheduling based on views or clicks

January 24th 2007
 - ad.module
    o add support for automatically enabling and disabling advertisements at
      specified times and dates.

January 23rd 2007
 - ad.module
    o add support for displaying multiple unqiue ads.  The automatically
      created ad blocks include a configuration option supporting this new 
      feature.
    o rename "database cache" to "none", as it's not a cache at all.  This
      paves the way for later adding support for an actual database level
      ad cache.
 - adserve.php
    o add support for displaying multiple unique ads.
 - ad_image.module
    o fix paths to work when hosting Drupal from a subdirectory.

January 20th 2007
 - ad_image.php
    o bugfix #111130: Must pass $node when calling adapi (for pre-PHP5 support)

January 15th 2007
 - ad.module 
    o add support for filter types with ads
    o manually invoke ad_ modules to support pre-PHP5 installations
    o move 'my ads' to main menu, not under user name
    o only display 'ad owners' tab for ad content
 - adserve.php
    o allow periods (.) in ad path
 - ad_image.php
    o update adapi to support pre-PHP5 installations
 - ad_text.php
    o update adapi to support pre-PHP5 installations

January 3rd 2007
 - adserve.php
    o strip all but allowed characters input from $_GET to prevent XSS attacks 

January 1st 2007 (beta2)
 - ad.module
    o add support for externally defined ad caching methods
    o provide new administrative screen with statistics overview
    o cleanup permissions:
       - if have 'administer advertisements' automatically have all ad perms
       - introduce new 'manage owners' permission
       - remove redundant permission tests
 - adserve.php
    o add support for externally defined ad caching methods

December 31'st 2006 (beta1)
 - ad.module
    o implement file cache
    o pass in path to files directory, abbreviate all url variables
    o properly display ad status even with limited permissions
    o give primary ad owner 'modify status' permission by default
 - adserve.php
    o implement file cache

December 30'th 2006
 - ad.module
    o fix logic that locates adserve.php, cleanup associated error messages
    o replace 'edit own advertisements' with 'manage advertisements'
    o add page for displaying all advertisements owned by specific user
    o add interface for removing ad owners from an ad
    o don't allow user to be added as ad owner unless is has 'manage
      advertisements' or 'administer advertisements' premissision
    o by default only add 'access statistics' and 'access click history' to new
      ad owners.
    o when using filecache, default to using 3 files for better performance
    o pass number of files to use for filecache to adserve.php
 - adserve.php
    o retrieve number of files to use for filecache from $_GET variable
 - ad_image.module
    o display actual ad in node teaser
 - ad_text.module
    o display actual ad in node teaser

December 30'th 2006 (0.6)
 - ad.module
    o implement granular advertisement permission system with the following
      default permissions:  access statistics, access click history, modify
                            group, modify status
    o add default ad owner and permissions when creating new ads

December 28'th 2006
 - ad.module
    o track hostid when clicking an ad
    o implement form for adding multiple owners to an ad
    o implement form for granting per-user permissions to each ad
 - ad_image.module
    o include hostid when displaying ad so clicks can be tracked to host
 - ad_text.module
    o include hostid when displaying ad so clicks can be tracked to host

December 27'th 2006 (0.5)
 - ad.module
    o search for adserve.php from top level directory to support multi-site
      installations (module may not live in /modules)
    o no longer try specifying how many dirs above adserve.php index.php is
 - adserve.php
    o improve debugging output
    o search for bootstrap.inc
 - ad_image.module
    o specify absolute path to ad image so can display from non-front pages
 - ad_text.module
    o define 'redirect' adapi hook so clicking text ads takes you to proper url

December 25'th 2006
 - ad.install
    o define ad_permissions table
    o define ad_owners table
    o define ad_notifications table
    o define ad_hosts table
 - ad.module
    o fix ad statistics to display even if none for current hour
    o implement statistics for current week
    o register unique hostid for each add owner for displaying ads remotely
    o enforce matching ad status and node status
    o only display clicks and statistics for ads, not all ad types
    o stub in support for ad owners, ad owner permissions and add owner 
      notifications
    o display group name instead of just group id when listing ads
    o add regex in search for adserve.php to not match ie .swp files
 - adserve.php
    o implement cache types in switch statement
    o track hostid when viewing ads for displaying on remote sites
 - ad_text.module
    o use htmlentities() to encode ad text

December 11'th 2006 (0.3.1)
 - ad.install
    o ad missing comma
    o remove isdefault column from ad_groups table
 - ad.module
    o always display all_time statistics for ads, even if 0
    o for simplicity, hard code 'default' group to be gid 1
    o do not allow editing or deleting of 'default' group
    o auto-select ad type if only one type available
 - ad_image.module
    o perform check_install when displaying node form

December 10'th 2006 (0.3.0)
 - ad.module
    o support submenu under module settings
    o require ad type be selected before show node form
    o only display image upload error after preview or submit
 - ad_image.module
    o when displaying ad, wrap in appropriate <div>'s.
 - ad_text.module
    o implement function to display text ads
    o simplify ads to be just header and body
    o single global settings for min and max header and body lengths
    o implement adapi for text ads
    o display form for creating and editing text ads
 - ad_text.install
    o new table for storing text ads.

December 9'th 2006 (0.2.4)
 - ad.module
    o fix ad creation to work when using multiple ad_type modules
    o only display click history when there is one
 - ad_image.module
    o display images during preview
    o set error if no image is uploaded
 - ad_text.module
    o save ad_text group settings
    o begin to stub in adapi
    o stub in node_form

November 30'th 2006 (0.2.3)
 - adserve.php
    o move redundant javascript logic from ad_type modules into adserve.php
 - ad_text.install
    o clean up ad_text schema
 - ad_text.module
    o initial support for ad group configuration
 - ad_image.install
    o remove extra id from ad_image_format table
 - ad_image.module
    o remove javascript logic

November 29'th 2006 (0.2.2)
 - ad.module
    o auto-generate advertisemnt blocks for each ad group
    o fix block management after menu restructuring
 - ad_image.module
    o merge in version 0.2.1 that was missed in previous tarball

November 29'th 2006 (0.2.1)
 - ad.module
 - ad_image.module
    o Implemented basic functionality

April 17, 2006
 - ad.module
    o Remove calls to tablesort_pager(), removed during Drupal 4.7 development

File

documentation/CHANGELOG.txt
View source
  1. October 8th 2009
  2. - ad_image.module
  3. o bug #594610: retain fid when updating image ad
  4. April 14th 2009
  5. - ad.install
  6. o bug #431292: fix typo in ad.install affecting PostgreSQL installs
  7. August 11th 2008
  8. - adserve.inc
  9. o bug #220817: support installations using symbolic links
  10. o feature #177885: optionally apply filters when displaying ads
  11. - ad.module
  12. o feature #177885: allow configurable filtering of ads
  13. - ad_cache_file.module
  14. o feature #177885: optionally apply filters when displaying ads
  15. - ad_cache_memcache.module
  16. o feature #177885: optionally apply filters when displaying ads
  17. - ad_external.module
  18. o feature #177885: optionally apply filters when displaying ads
  19. - ad_html.module
  20. o feature #177885: optionally apply filters when displaying ads
  21. o remove unnecessary database query.
  22. - ad_image.module
  23. o feature #177885: optionally apply filters when displaying ads
  24. o remove unnecessary database query.
  25. - ad_text.module
  26. o feature #177885: optionally apply filters when displaying ads
  27. o remove unnecessary database query.
  28. August 10th 2008
  29. - ad.module
  30. o feature #250289: add jQuery method for displaying advertisements
  31. o feature #233568: add support for per-ad-type default permissions
  32. - ad_cache_memcache.module
  33. o bug #271912: gracefully report when memcache is not installed
  34. - adserve.inc
  35. o bug #271477: id can't start with a number
  36. o feature #250289: support jQuery method to display advertisements
  37. - ad.install
  38. o feature #233568: flush menu cache to support per-ad-type default perms
  39. - ad_image.module
  40. o feature #233568: new settings page format for per-ad-type permissions
  41. - ad_text.module
  42. o feature #233568: new settings page format for per-ad-type permissions
  43. August 9th 2008
  44. - adserve.inc
  45. o bug #288489: add missing argument 2 for variable_get()
  46. o feature #274297: allow modules to define their own ad display variables
  47. July 24th 2008
  48. - ad_cache_memcache.inc
  49. o implement adserve_exit_text hook
  50. July 11th 2008
  51. - adserve.inc
  52. o allow module using adserve_select to report when there are no more ads
  53. - ad_cache_memcache.module
  54. o asynchronously process changed nodes during cron runs
  55. o now support multiple hooks, so rename ad-cache-init to ad-cache-hook
  56. - ad_cache_memcache.inc
  57. o simplify code by using _debug_echo() when possible
  58. o preface debug calls with 'Memcache:' to make tracing more clear
  59. o replace ad_cache_memcache_init() with generic ad_cache_memcache_hook()
  60. o implement adserve_select hook
  61. July 10th 2008
  62. - adserve.inc
  63. o support multiple arguments when invoking function in file
  64. o simplify code by using _debug_echo() when possible
  65. o support caches with adserve hooks
  66. - ad_cache_file.inc
  67. o simplify code by using _debug_echo() when possible
  68. o preface debug calls with 'File cache:' to make tracing more clear
  69. o make cache data re-usable without having to reload it
  70. o introduce adserve_select hook
  71. o set sane file cache defaults
  72. July 9th 2008
  73. - adserve.inc
  74. o adserve hooks: if include file defined and necessary, include file
  75. o adserve hooks: if function defined and existing, call function
  76. June 27th 2008
  77. - ad.module
  78. o support adserve actions, allowing external modules to execute functions
  79. from adserve.inc, without bootstrapping Drupal or connecting to the db.
  80. - adserve.inc
  81. o rename adserve_invoke() function to adserve_invoke_file()
  82. o introduce adserve_invoke_action() function
  83. o simplify ad selection when not using a cache, using the standard
  84. adserve_select_ad function that's used by caches
  85. o remove considerable amount of no longer needed code
  86. o replace clunky _exit hook with adserve action
  87. o remove clunky _invoke_weight hook, to be replaced as adserve action
  88. o new actions: 'adserve_init_text', 'adserve_exit_text', 'adserve_select'
  89. June 20th 2008
  90. - ad.module
  91. o bug #270808: set default value when calling variable_get()
  92. o bug #242738: XHTML-Strict compliance, use onclick handler instead of
  93. target (patch thanks to Daniel Kudwien, aka 'sun')
  94. June 12th 2008
  95. - ad.module
  96. o bug #269808: be sure variable is an array before walking with foreach
  97. May 31st 2008 (1.5)
  98. - ad_cache_memcache.info
  99. o plugin doesn't actually depend on Drupal memcache module
  100. - ad.module
  101. o remove ad_init, no longer include ad_views.inc (it has been moved to
  102. an external project where it will hopefully receive more attention by
  103. those that depend on it)
  104. - documentation
  105. o minor edits keeping things in sync with latest codebase
  106. - ad_views.inc
  107. o deleted, moving views support into external project where it will
  108. hopefully find a new, ambitious maintainer.
  109. May 11th 2008
  110. - ad.module
  111. o bug #255997: update online documention to reflect that ad views are
  112. properly tracked regardless of the display method.
  113. May 10th 2008
  114. - ad_cache_file.inc
  115. o bug #246257: avoid error if no ads are selected
  116. April 21st 2008 (1.5-rc2)
  117. - ad_views.inc
  118. o bug #141539: fix current user filter
  119. April 19th 2008
  120. - ad.install
  121. o bug #248670: add missing commas
  122. - ad_weight_percent.install
  123. o bug #248663: remove trailing ?>
  124. - ad_weight.info
  125. o bug #248663: add missing Id tag
  126. - ad_image.module
  127. o bug #248663: remove packaging info accidently included in info file
  128. April 17th 2008
  129. - ad.module
  130. o bug #248423: auto-fix when ad vocabulary information gets corrupted
  131. (unfortunately we haven't tracked down how this happens)
  132. April 17th 2008 (1.5-rc1)
  133. - ad.module
  134. o feature #221648: provide filtering on administrative ad overview page
  135. - ad_image.module
  136. o bug #242738: add missing alt tags
  137. o feature #142864: make destination URL optional
  138. o validate that an image is attached before inserting/updating image ad
  139. - ad_views.inc
  140. o bug #172807: fix default group views (patch by malaussene)
  141. o bug #141539: only display "my ads" link when appropriate
  142. - ad.install
  143. o bug #248016: add missing breaks that resulted in both mysql and
  144. postgresql updates being run
  145. April 15th 2008
  146. - ad.module
  147. o merge ad_clicks code that somehow didn't make it in the last merge
  148. o bug #246458: load cached versions of the node
  149. o bug #233073: allow other modules and themese to over ride page title
  150. o bug #183085: remove closing ?>
  151. - ad.install
  152. o bug #227967: fix install updates to work with PostgreSQL
  153. - ad_image.module
  154. o bug #183085: remove closing ?>
  155. o bug #237833: proprely record fid when first uploading image ad
  156. - ad_cache_file.module
  157. - ad_cache_memcache.module
  158. - ad_external.module
  159. - ad_notify.module
  160. - ad_report.module
  161. - ad_text.module
  162. - ad_weight_percent.module
  163. o bug #183085: remove closing ?>
  164. April 3rd 2008
  165. - ad.install
  166. o introduce adgroup into ad_statistics and ad_clicks
  167. - ad.module
  168. o track ad group on redirect
  169. o track ad group in statistics, when applicable
  170. o validate aid, group and hostid on redirect
  171. - serve.php
  172. o track ad group
  173. o support passing in url where ads are displayed
  174. - ad_cache_memcache.module
  175. o sync ads not in any group along with ads in groups
  176. o track ad group in statistics
  177. - ad_cache_memcache.inc
  178. o track ad group in statistics
  179. o add additional debug
  180. March 27th 2008
  181. - ad.module
  182. o Bug #239260, #222518 Remove query on nonexistent field that made it
  183. impossible to publish an unpublished ad.
  184. o Bug #233538, revert 'manage advertisements' back to 'edit own
  185. advertisements'
  186. March 23rd 2008
  187. - ad.module
  188. o Introduce click [details] page
  189. o Allow url to be passed in on redirect
  190. March 14th 2008
  191. - ad_weight_percent.module
  192. o remove various infinite loops
  193. March 13th 2008
  194. - adserve.inc
  195. o no need to pass an adserve variable to exit (as exit as access to all
  196. adserve variables)
  197. March 12th 2008
  198. - ad_cache_memcache.module
  199. o invoke ad_build_cache hook
  200. - ad_cache_memcache.inc
  201. o allow override from ad_build_cache hook
  202. - click_filter.module
  203. - click_filter.install
  204. o filter out clicks from search engine bots
  205. March 11th 2008
  206. - ad_cache_memcache.module
  207. o wrap ad syncronization in a lock
  208. - ad_cache_memcache.inc
  209. o remove unecessary duplicate get from memcache for ad structure
  210. o repopulate ad information in memcache on error (throttled)
  211. March 10th 2008
  212. - ad_cache_file.module
  213. o properly return ad configuration to not conflict with other cache types
  214. - ad_cache_file.inc
  215. o add additional debug output
  216. - adserve.inc
  217. o rename remaining instances of 'cache' to 'adcache' to avoid conflicts
  218. - ad_cache_memcache.module
  219. - ad_cache_memcache.inc
  220. o introduce new high-performance ad caching mechanism utilizing memcached
  221. March 6th 2008
  222. - adserve.inc
  223. o rename adserve variable 'cache' to 'adcache' to not conflict with Drupal's
  224. core page cache functionality if hard coding values in settings.php
  225. o bug #228650: properly check if DRUPAL_ROOT is defined
  226. February 5th 2008
  227. - ad_views.inc
  228. o bug #141539: fix Views "my ads" link (fix thanks to Wade Fitzpatrick)
  229. January 30th 2008
  230. - ad_report.module
  231. o make statistics functions a little more generic, making it possible to
  232. display per-user reports in addition to per-ad reports. Also provide
  233. hook allowing externally defined reports.
  234. January 24th 2008
  235. - ad_cache_file.inc
  236. o introduce 'include_file_init' and 'include_func_init' for over-riding
  237. initilization for serving ads from the file cache
  238. - adserve.inc
  239. o when calling ad_exit hook, indicate whether or not there were errors
  240. January 23rd 2008
  241. - ad.install
  242. o bug #213163, add missing comma during ad_clicks table creation
  243. - ad_image.module
  244. o bug #190938, use proper encoding to display special characters properly
  245. January 17th 2008
  246. - click_filter.info
  247. o new module for filtering clicks
  248. - click_filter.install
  249. o parse existing clicks, updating status
  250. - click_filter.module
  251. o new module for filtering clicks, currently filters clicks by ad owners
  252. and duplicate clicks by same IP or UID
  253. - ad.module
  254. o support new click_filter module
  255. - ad.install
  256. o add new status column for ad clicks
  257. - ad_cache_file.inc
  258. o sync (make counting of actions generic, dropped from earlier merge)
  259. January 16th 2008
  260. - ad.module
  261. o internally switch adserve variable name 'method' to 'ad_display' to match
  262. the variable name used in ad.module.
  263. - adserve.inc
  264. o perform partial drupal bootstrap to allow variable overloading
  265. o rename 'method' to 'ad_display' to ease overloading of variable
  266. o new logic for allowing adserve variable overrides from settings.php
  267. o allow adserve_bootstrap to be called multiple times at different levels
  268. o introduce 'ad_exit' hook
  269. o add cache support to adserve_increment
  270. o make counting of actions generic, not limited to 'view' and 'count'
  271. - imageserve.inc
  272. o perform partial drupal bootstrap to allow variable overloading
  273. o remove adserve_increment special logic
  274. - ad_cache_file.module
  275. o make counting of actions generic, not limited to 'view' and 'count'
  276. January 14th 2008
  277. - ad.module
  278. o bug #209751: alt missing when displaying counter image (thanks to attiks)
  279. January 13th 2008
  280. - ad_cache_file.module
  281. o cache and enable all hostids, not just those associated with active ads
  282. January 11th 2008 (1.4.1)
  283. - ad.module
  284. o fix URL to properly count views when displaying ads with raw mode
  285. - imageserve.inc
  286. o replace adserve_increment_view() with adserve_increment()
  287. - ad_image.info
  288. o refer to module as "Image Ad"
  289. January 11th 2008 (1.4)
  290. - ad.module
  291. o bug #165355, allow editing of ads with CCK
  292. o bug #208421, naming convention for id attribute doesn't allow commas
  293. o bug #162197, verify that cached advertisement vid is valid
  294. o bug #207677, be sure "show advertisements" permission is assigned to at
  295. least one role
  296. o don't display ad status in ad overview
  297. - ad_text.module
  298. o bug #197357, allow full 255 characters for url field defined in schema
  299. o bug #202934, wrap "Links to" text in div for themability
  300. - ad.install
  301. o bug #193094, no need to specify UNIQUE for PRIMARY KEY
  302. - ad_text.install
  303. o bug #193094, no need to specify UNIQUE for PRIMARY KEY
  304. - ad_image.module
  305. o bug #202934, wrap "Links to" text in div for themability
  306. o bug #208180, verify that attachements are enabled for ad content type
  307. o bug #193934, don't lose image ad data if image isn't validated
  308. o bug #207677, if using private download method, be sure "view uploaded
  309. files" permission is assigned to roles that should see ads
  310. - ad_html.module
  311. o don't display "Links to:", as html ads don't have internal links
  312. January 9th 2008
  313. - ad.install
  314. o introduce "status" column into ad_host table
  315. January 8th 2008
  316. - ad.module
  317. o add imageserve support for tracking traffic without ads
  318. - ad_cache_file.module
  319. o add support for tracking traffic without ads
  320. - ad_cache_file.inc
  321. o add support for tracking traffic without ads
  322. - imageserve.inc
  323. o add support for tracking traffic without ads
  324. - adserve.inc
  325. o add support for tracking traffic without ads
  326. o don't choke if DRUPAL_ROOT global isn't set
  327. January 6th 2008
  328. - ad_remote.module
  329. o general cleanup
  330. January 5th 2008
  331. - adserve.inc
  332. o remove superfluous quotes accidentally added in bugfix #206177
  333. - ad.module
  334. o bug #196431: wrap ad status in "access statistics" permission, and in
  335. "adstatus" div class
  336. January 4th 2008
  337. - adserve.inc
  338. o bug #206177: properly escape text before displaying with JavaScript
  339. December 4th 2007
  340. - adserve.inc
  341. o add optional DRUPAL_ROOT configuration option to support installations
  342. utilizing a symbolic link
  343. October 22nd 2007
  344. - adserve.inc
  345. o uncomment out debug dump of advertisement
  346. - ad.module
  347. o introduce global variable 'ad_link_nofollow'
  348. o new helper functin 'ad_link_nofollow' for adding link when global enabled
  349. (Sponsored by Connie at WebsitesForTheArts.com)
  350. - ad_image.module
  351. o add ad_link_nofollow support
  352. (Sponsored by Connie at WebsitesForTheArts.com)
  353. - ad_text.module
  354. o add ad_link_nofollow support
  355. (Sponsored by Connie at WebsitesForTheArts.com)
  356. - ad_html.module
  357. o new simple html ad type with no click-through tracking
  358. (Sponsored by Connie at WebsitesForTheArts.com)
  359. October 18th 2007
  360. - ad_external.module
  361. o new ad type for serving remotely hosted ads via an iframe
  362. o if ad_cache_file is enabled, cache remote page in file cache
  363. - adserve.php
  364. o renamed to serve.php
  365. - serve.php
  366. o add hooks so external modules can utilize serve.php for serving data
  367. without bootstrapping Drupal
  368. - adserve.inc
  369. o add new 'iframe' method, along with 'raw' and 'javascript'
  370. o add initial support for external weighting modules
  371. o make adserve_invoke_cache() generic, adserve_invoke()
  372. - ad.module
  373. o look for 'serve.php', not 'adserve.php'
  374. o add new IFrame display method
  375. - ad_cache_file.module
  376. o add new "ad_build_cache" hook, to be used by external ad modules
  377. - ad_cache_file.inc
  378. o build full path to cache files to allow calling from any path
  379. - ad_weight_percent.inc
  380. o initial implementation of percentage based weighting module
  381. - imageserve.inc
  382. o change call from adserve_invoke_cache() to adserve_invoke()
  383. September 26th 2007
  384. - ad_install.module
  385. o bug #175687: set db prefix for Postgres installations
  386. o bug #175683: Postgres doesn't support 'AFTER' when altering table
  387. September 7th 2007
  388. - ad_image.module
  389. o put more information about the image ad into the $node array
  390. o feature #170667: only perform url validation if enabled
  391. - ad_text.module
  392. o put more information about the text ad into the $node array
  393. o feature #170667: only perform url validation if enabled
  394. - ad.module
  395. o track the HTTP_USER_AGENT on ad clicks (to allow filtering clicks
  396. generated by bots that report themselves as bots)
  397. o bug #166097: fix "only variables can be passed by reference" error
  398. o feature #170667: provide option to disable url validation
  399. - ad.install
  400. o add user_agent column to ad_clicks table for tracking user agents
  401. o bug #173850: call variable_del(), not variable_delete()
  402. o update uninstall to delete new 'ad_validate_url' variable
  403. September 6th 2007
  404. - ad_weight_percent.inc
  405. - ad_weight_percent.info
  406. - ad_weight_percent.install
  407. - ad_weight_percent.module
  408. o implemented GUI and schema for weighting how often ads within each ad
  409. group are displayed as a percentage of 100%. actual logic to display
  410. ads per these settings is not yet implemented.
  411. August 31st 2007
  412. - adserve.inc
  413. o add simple default logic for randomly selecting ads.
  414. - ad_cache_file.inc
  415. o remove random ad selection logic, now done in adserve.inc.
  416. August 7th 2007
  417. - ad.module
  418. o improve usability of ad overview page (order by status, link to ad node)
  419. August 3rd 2007 (1.3.2 Release)
  420. - ad.module
  421. o bug #164217: restore ability to set global click-through target
  422. - imageserve.inc
  423. o tell web browsers not to cache images used for counting ad views
  424. July 30th 2007
  425. - adserve.inc
  426. o bug #163058: simplify query filter, join not necessary
  427. - ad_report.module
  428. o add views for hourly, weekly and monthly, in addition to daily
  429. July 29th 2007 (1.3.1 Release)
  430. - ad_cache_file.inc
  431. o fixed a typo that prevented ads from being displayed with the file cache
  432. July 29th 2007 (1.3 Release)
  433. - ad_module
  434. o Allow displaying of image counters without CSS (useful if displaying on
  435. RSS pages)
  436. July 25th 2007
  437. - ad_cache_file.inc
  438. o move logic for obtaining a lock on a cache file into a function for reuse
  439. o track file descriptor as static in function for easily passing around
  440. - adserve.inc
  441. o move cache invocation into function for reuse
  442. o make it possible to unset an adserve_variable()
  443. - imageserve.inc
  444. o functions to display blank images for counting ad views
  445. July 24th 2007
  446. - adserve.php
  447. o remove all logic, only used to display ads
  448. o add path for displaying counter images
  449. - adserve.inc
  450. o initial support for calling adserve() multiple times
  451. o initial support for displaying ads without using javascript
  452. o move code into functions to share with imageserve()
  453. o use images to count views if displaying raw ads
  454. - ad_cache_file.inc
  455. o initial support for calling adserve() multiple times
  456. - ad.module
  457. o initial support for displaying ads without using javascript
  458. o make ad display method configurable
  459. o new function to display an image for counting ad views
  460. - ad.install
  461. o remove ad_display variable on uninstall
  462. July 18th 2007 (1.2 Release)
  463. - adserve.php
  464. o bug #152610: call addslashes() to escape quotes
  465. o simplify javascript output path
  466. - ad_cache_file.inc
  467. o bug #152610: escape ' in JavaScript
  468. - ad.module
  469. o bug #153901: fix translation of ad permissions
  470. - ad_text.module
  471. o bug #153901: fix translation of ad permissions
  472. - ad_image.module
  473. o bug #153901: fix translation of ad permissions
  474. July 16th 2007
  475. - ad.info
  476. o bug #148533: ad module depends on taxonomy module
  477. - ad_cache_file.inc
  478. o bug #159239: be sure variables exist before we test their contents
  479. o bug #159237: be sure variables exist before we test their contents
  480. - ad.module
  481. o don't display error unnecessarily first time ad() is called
  482. o cleanup adserve.php-doesn't-exist-error to properly display link
  483. - ad_image.module
  484. o bug #153319: fix issues with enabling Image ads when no ad groups have
  485. been created - patch thanks to Grugnog2, problem isolated by yodersj
  486. June 8th 2007
  487. - ad.module
  488. o bug #150069: set unique id when displaying ads
  489. - ad_image.module
  490. o bug #150141: properly update ad_image_format table
  491. - ad_embed.module
  492. o bug #150142: don't display auto-embedded ads in teasers
  493. - ad.install
  494. o feature #150236: add _uninstall hook
  495. - ad_image.install
  496. o feature #150236: add _uninstall hook
  497. - ad_notify.install
  498. o feature #150236: add _uninstall hook
  499. - ad_text.install
  500. o feature #150236: add _uninstall hook
  501. -------------
  502. June 7th 2007
  503. 1.1 Release
  504. -------------
  505. June 6th 2007 (-RC3)
  506. - ad_cache_file.module
  507. o bug #147575: load user before calling user_access().
  508. - ad.install
  509. o bug #148623: update block deltas during upgrade from 1.0 -> 1.1.
  510. o bug #149770: don't display ads twice when 'always display ads' is checked
  511. - ad_embed.module
  512. o bug #149770: don't display ads twice when 'always display ads' is checked
  513. - ad_image.module
  514. o bug #146147: don't allow image ads to be enabled if they have a 0 size.
  515. June 5th 2007
  516. - ad.module
  517. o bug #148756: the ad group description is no longer optional.
  518. June 1st 2007
  519. - ad.module
  520. o bug #148160: properly set tid so groups can be updated
  521. May 31st 2007
  522. - ad.install
  523. o bug #147733: properly convert ads to new groups during upgrade
  524. May 28th 2007
  525. - ad.module
  526. o hard code tid 0 (ie, ad is assigned to no groups) as "default" group.
  527. o restore global administrative statistics
  528. o clean up per-ad statistics.
  529. - adserve.php
  530. o fix query to properly display ads without any taxonomy term.
  531. May 27th 2007 (1.1-rc1)
  532. - adserve.php
  533. o bug: add missing space to debug text.
  534. May 25th 2007
  535. - ad_notify.module
  536. o bug #142648: remove unused settings page
  537. o use AD_NOTIFY_DISABLED and AD_NOTIFY_ENABLED instead of 1 and 0
  538. - adserve.php
  539. o bug #146361: set headers to prevent javascript from being cached by
  540. browser. Thanks to Joep Hendrix.
  541. - ad.module
  542. o bug #146785: be sure $groups is an array() to prevent errors when no
  543. groups are defined.
  544. o bug #136004: add support for PostgreSQL
  545. - ad.install
  546. o bug #136004: add support for PostgreSQL
  547. - ad_image.install
  548. o bug #136004: add support for PostgreSQL
  549. - ad_text.install
  550. o bug #136004: add support for PostgreSQL
  551. - ad_notify.install
  552. o bug #136004: add support for PostgreSQL
  553. May 24th 2007
  554. - ad.module
  555. o enhance ad_groups_list() to return either a specified group or all groups,
  556. also enhanced to return just the group name or the full group object
  557. - ad_image.module
  558. o bug #143251: do not query nonexistent ad_groups table
  559. o fix logic to use taxonomy terms tid instead of nonexistent group gid
  560. May 23rd 2007
  561. - adserve.php
  562. o bug #144436: replace hard coded
    between ads with
  563. o add support for displaying ads without any taxonomy term
  564. - adserve.php
  565. o bug #144436: replace hard coded
    between ads with
  566. May 11th 2007
  567. - ad.install
  568. o bug #143207: separate {} and $variable
  569. - ad_image.install
  570. o bug #143207: separate {} and $variable
  571. - ad.module
  572. o bug #142874: fix typos
  573. May 9th 2007
  574. - ad.modlue
  575. o bug #142562: add missing calls to t()
  576. o bug #142583: in adserve url convert "&" to "&" so it validates
  577. - ad_cache_file.module
  578. o bug #142583: in adserve url convert "&" to "&" so it validates
  579. May 8th 2007
  580. - adserve.php
  581. o removed groups (replaced by taxonomy tids)
  582. - ad_cache_file.module
  583. o remove groups cache
  584. o include in cache ads that aren't assigned to a taxonomy
  585. - ad_cache_file.inc
  586. o remove references to group cache
  587. o check for ads that are not assigned to a taxonomy
  588. - ad.module
  589. o replace custom groups code with taxonomy functions
  590. - ad_embed.module
  591. o use tids instead of group name
  592. - ad_notify.module
  593. o remove references to group
  594. - ad_remote.module
  595. o use taxonomy tids rather than group name when building remote snippet
  596. - ad.install
  597. o convert ad_group table entries to taxonomy
  598. o remove ad_group table
  599. o remove gid calumn from ads table
  600. o bug #129749: default to utf8 character set for all table types
  601. o bug #142183: TEXT columns can't set DEFAULT
  602. - ad_views.inc
  603. o remove most groups logic
  604. o update group blocks to use taxonomy
  605. - ad_text.install
  606. o bug #129749: default to utf8 character set for all table types
  607. o bug #142183: TEXT columns can't set DEFAULT
  608. - ad_image.install
  609. o bug #129749: default to utf8 character set for all table types
  610. - ad_notify.install
  611. o bug #129749: default to utf8 character set for all table types
  612. o bug #142183: TEXT columns can't set DEFAULT
  613. May 7th 2007
  614. - adserve.php
  615. o support displaying ads based on taxonomy tids
  616. - ad_cache_file.module
  617. o build cache for taxonomy tids
  618. - ad_cache_file.inc
  619. o support displaying ads based on taxonomy tids
  620. - ad.module
  621. o support setting term list from ad() function
  622. May 6th 2007
  623. - adserve.php
  624. o make 'error' variable accessible to cache plugins
  625. - ad_cache_file.module
  626. o added support for hostid
  627. o redesigned cache struct to support additional lookups
  628. o make cache lifetime configurable
  629. - ad_cache_file.inc
  630. o added support for hostid
  631. o utilize new cache struct
  632. o improved debug output
  633. o make cache lifetime configurable
  634. May 5th 2007
  635. - ad.module
  636. o make hostid accessible
  637. o set absolute path in the redirect url
  638. - ad.install
  639. o convert redirect urls to absolute paths
  640. - ad_remote.module
  641. o simple proof-of-concept for hosting ads on remote websites
  642. - adserve.php
  643. o add hostid to redirect URL
  644. o bug #141630: don't print visible message when no ads exist
  645. - ad_image.module
  646. o use @HOSTID___ token so hostid can be set in cached content
  647. - ad_text.module
  648. o use @HOSTID___ token so hostid can be set in cached content
  649. May 4th 2007
  650. - ad_text.module
  651. o stop stripping the letter 'v' from all text ads
  652. ------------
  653. May 4th 2007
  654. 1.0 Release
  655. ------------
  656. May 3rd 2007 (beta9)
  657. - ad.module
  658. o remove all file cache logic
  659. o implement hooks for externally defining ad caches
  660. o cleanup ad() to only display url variables that are actually used
  661. o implement hook for upcoming event notifications (activate and expire)
  662. - adserve.php
  663. o remove all file cache logic
  664. o implement hooks for externally defining ad caches
  665. - ad_cache_file.module
  666. o implement file cache as plug-in module
  667. - ad_cache_file.inc
  668. o implement file cache as plug-in module
  669. - ad_cache_file.info
  670. o implement file cache as plug-in module
  671. - ad_notify.module
  672. o implement hook to support upcoming event notifications
  673. - ad_image.module
  674. o bug #140804: support private download method
  675. May 2nd 2007
  676. - ad.module
  677. o bug #134889: don't display statistics and click history in teaser
  678. o when no ads are displayed due to permissions display a helpful html
  679. comment noting the need to grant 'show advertisements' permissions.
  680. - ad_text.module
  681. o bug #132525: validate destination URL
  682. - ad_image.module
  683. o bug #132525: validate destination URL
  684. May 1st 2007
  685. - ad.module
  686. o translate adtype on display
  687. - ad_image.module
  688. o bug #139068: do not translate $adtype
  689. o encode with UTF-8 charset
  690. - ad_text.module
  691. o bug #139068: do not translate $adtype
  692. o bug #129749: encode with UTF-8 charset
  693. - ad_embed.module
  694. o bug #139167: don't try to replace tags with ads if there's no text
  695. - adserve.php
  696. o don't test $nids if isn't set (for E_ALL compat)
  697. May 1st 2007 (beta8)
  698. - ad.module
  699. o convert '%' to '@' to prevent from showing up in emails
  700. o add default text for notification emails
  701. o remove duplicate code
  702. - ad_notify.install
  703. o add aid column to ad_notify table
  704. - ad_notify.module
  705. o add default text for notification emails
  706. o display help text for notification email variables
  707. o perform proper substitions on variables in notification mails
  708. o prevent editing and deletion of locked notifications by non-privileged
  709. users
  710. o support notification deletion
  711. o support editing of notification email text
  712. o use drupal_mail function instead of nonexistant drupal_mail function
  713. o convert '%' to '@' to prevent from showing up in emails
  714. April 30th 2007
  715. - adserve.php
  716. o bug #140173: add missing ";" at end of javascript.
  717. April 29th 2007
  718. - ad_image.module
  719. o bug #131028: reference $file structure as an object
  720. April 28th 2007
  721. - ad_image.module
  722. o add ability to set mouseover (tooltip) text when hovering a mouse over
  723. the ad image.
  724. - ad_image.install
  725. o schema change to add field for mousever text.
  726. April 27th 2007
  727. - ad_notify.module
  728. o allow editing of notifications and the message text
  729. o preliminary support for deleting notifications
  730. April 26th 2007
  731. - adserve.php
  732. o remove debug output preventing ads from displaying
  733. April 24th 2007
  734. - adserve.php
  735. o bug #131035: move path variables from global to local statics, move
  736. adserve logic into function out of global space.
  737. o include extra debug information showing version of all ad files
  738. April 21st 2007
  739. - ad_image.info
  740. o add dependency on upload module
  741. - ad_notify.module
  742. o don't show 'my notifications' tab unless viewing an ad you own
  743. April 17th 2007
  744. - adserve.php
  745. o bug #131035: move adserve variables from global into local statics
  746. (the Drupal bootstrap was wiping the globals depending on the PHP
  747. configuration.)
  748. April 13th 2007
  749. - ad.module
  750. o bug #135144: don't translate ad status when storing in database, only
  751. when displaying to screen
  752. - adserve.php
  753. o be sure variables are set before accessing them to allow running PHP in
  754. E_ALL mode
  755. April 4th 2007
  756. - ad_image.module
  757. o bug #127944: build path to image file using file_create_url()
  758. o bug #131022: put all settings under settings tab
  759. - ad.module
  760. o bug #131023: don't wrap block title in
  761. - ad.install
  762. o bug #130968: add missing prefix
  763. - ad_text.install
  764. o bug #129469: add missing prefix
  765. February 27th 2007
  766. - ad.module
  767. o reorder logic so we only return once
  768. - ad_notify.install
  769. o rename table from ad_notifications to ad_notify
  770. o rename "time" to "delay" to make clode more clear
  771. o introduce "queued" row for tracking notification delays
  772. o add additional indexes for better performance
  773. - ad_notify.module
  774. o introduce _cron hook for sending and tracking scheduled notifications
  775. o introduce send_mail function for sending email notifications
  776. o introduce "mail_text" hook for setting email text
  777. o validate notifications before saving them
  778. o rename references to old ad_notifications table to new ad_notify table
  779. February 25th 2007
  780. - ad.install
  781. o fix bug #122289: restore missing parenthesis.
  782. February 22nd 2007
  783. - ad.module
  784. o re-arrange ad notifications, add additional notification events
  785. - ad_notify.install
  786. o add field for one time use notifications (auto-expiring)
  787. o add field for counting
  788. o add field for disabling notifications
  789. - ad_notify.module
  790. o replace 'manage all notifications' with already existing permission
  791. 'manage owners'
  792. o add 'my notifications' tab for users to manage their own notifications
  793. o add GUI option for one-time notifications (auto-expiring)
  794. o add GUI option for locking notifications (ie, those created by admins that
  795. users can't disable).
  796. February 21st 2007
  797. - ad.module
  798. o implement initial ad notification hooks
  799. - ad_notify.install
  800. o implement database schema for managing notifications
  801. - ad_notify.module
  802. o implement GUI for creating ad email notifications
  803. o implement api for registering notification events
  804. (NOTE: notifications themselves are not yet implemented, I'm just
  805. checking in a work-in-progress. If you choose to test this now, you'll
  806. likely need to manually dump your ad_notifications table later and
  807. re-create it once the ad_notify module is actually released.)
  808. February 19th 2007 (beta7)
  809. - ad_image.module
  810. o make it possible for someone with 'create advertisement' permission to
  811. be able to upload an image for their advertisement.
  812. - ad_text.module
  813. o make it possible for someone with 'create advertisement' permission to
  814. be able to enter text for their advertisement.
  815. February 17th 2007 (beta6)
  816. - ad.module
  817. o display 'edit' tab for all ad owners, not just node owner
  818. o automatically give user with UID of 1 all ad permissions
  819. o log in watchdog if ad redirect fails
  820. o be sure all fieldsets and contents are collapsible on the edit form
  821. o don't require ad description as it's not used anywhere important
  822. o call theme functions properly
  823. o remove ad notifications logic, add hooks to allow notifications and other
  824. per-ad/per-owner functionality to be implemented in plug-in modules
  825. - ad.install
  826. o remove ad_notifications table and ad table notifcation columns
  827. - ad_image.module
  828. o new 'manage active ad' permission, don't allow ad owner to change the
  829. active ad unless they have been granted this permission
  830. o fix image fieldset contents to properly collapse
  831. - ad_text.module
  832. o new 'manage ad text' permission, don't allow ad owner to change the
  833. ad text unless they have been granted this permission
  834. - ad_report.module
  835. o make it possible for users other than that with a UID of 1 to see the
  836. report images
  837. February 5th 2007 (beta5)
  838. - ad_view.inc
  839. o add filter for owned ads so "my ads" default view can use ad_owners table
  840. o order pages by last updated timestamp
  841. - ad.module
  842. o feature #114638: configuration option for specifying the link target,
  843. i.e. open in same window when clicking ad, open in new window, etc.
  844. - ad_image.module
  845. o feature #114638: open link in configured link target
  846. - ad_text.module
  847. o feature #114638: open link in configured link target
  848. - ad_embed.module
  849. o pass proper user array to user_access()
  850. February 4th 2007
  851. - ad.module
  852. o be sure
    wrapping ads has proper group, specifying nids if not using
  853. a group.
  854. o modify ad_groups_list to support listing just group names.
  855. - ad_embed.module
  856. o implement automatically embedded ads, allowing per-content-type
  857. configuration. Specify after which paragraph to insert one or more
  858. randomly selected ads from the chosen ad group.
  859. o introduce configuration options to disable scanning for manual tags (to
  860. reduce overhead if this functionality is not being used).
  861. February 3rd 2007
  862. - ad_embed.module
  863. o introduce 'embed ads in content' permission - only filter nodes owned by
  864. users with this permission. (which could have funky implications that
  865. we'll ignore for now).
  866. o add help text to module.
  867. o cleanup to make it simple to add additional tag styles if desired.
  868. o when replacing tags with ads in content adjust scan position for
  869. differences of length between what is being replaced and what is
  870. replacing.
  871. February 2nd 2007
  872. - ad_embed.module
  873. o initial support for embedding ads within content. (ie, replaces [[ad]] or
  874. with javascript for ad, supports parameters.)
  875. January 31st 2007
  876. - ad.module
  877. o issue #114535: call _ad_check_install() if failing to display ads,
  878. properly set "adserve" variable.
  879. o issue #114651: be sure cache file has contents before trying to loop
  880. through it.
  881. January 29th 2007
  882. - ad_image.module
  883. o detect clean urls and display ad images appropriately
  884. - adserve.php
  885. o add additional debug to filecache when displaying ads from a list of nids
  886. o use default ad quantity of 1 if no quantity is specified
  887. January 28th 2007 (beta4)
  888. - ad.module
  889. o support for displaying ads based on taxonomy and role with views (and
  890. much more)
  891. o if views module enabled, offer pages to ad owners listing all their ads,
  892. optionally filtered by adstatus.
  893. - ad_views.inc
  894. o add quantity field for specifying how many ads to display in view
  895. o add filter for ad type
  896. o improve filters to allow selection of multiple types, status or groups
  897. o default block views: all active ads, all active ads of each type, and all
  898. active ads of each group.
  899. o default page views: all active ads, all owner's ads, and views for each
  900. all owner's ads of a given adstatus.
  901. - adserve.php
  902. o fix to support multiple ads when displaying by nid
  903. January 27th 2007
  904. - ad_views.inc
  905. o initial field definitions for base ad module.
  906. o filter by: group, adstatus
  907. o add advertisement view type.
  908. - ad_image_views.inc
  909. o display image ad, incrementing view counter
  910. - ad_text_views.inc
  911. o display text ad, incrementing view counter
  912. - ad.module
  913. o include ad_views.inc if the view.module is enabled.
  914. o don't search for adserve.php, require it to be in ad folder with ad module
  915. o update ad() to allow specifying list of nids to display ads from
  916. - ad_image.module
  917. o include ad_views.inc if the view.module is enabled.
  918. - ad_text.module
  919. o include ad_views.inc if the view.module is enabled.
  920. - adserve.php
  921. o support displaying ads from list of nids instead of from group.
  922. January 26th 2007
  923. - ad_image.module
  924. o use file_create_path() to generate proper path to image.
  925. - ad.module
  926. o be smarter when looking for adserve.php, derive path from ad.module path
  927. in system table.
  928. o if enabled, update file cache when ads are updated.
  929. o cleanup when changing number of ad files, or disabling file cache.
  930. - adserve.php
  931. o noncached display requires full bootstrap.
  932. January 26th 2007 (beta3)
  933. - ad.install
  934. o updated_1: introduce new fields in {ads} table for tracking when ads were
  935. activated and expired, and for limiting the maximum number of views or
  936. clicks.
  937. - ad.module
  938. o feature #109688: support for scheduling based on views or clicks.
  939. o track when ad was last activated or expired.
  940. o improve status messages when viewing advertisement.
  941. - adserver.php
  942. o feature #109688: support for scheduling based on views or clicks
  943. January 24th 2007
  944. - ad.module
  945. o add support for automatically enabling and disabling advertisements at
  946. specified times and dates.
  947. January 23rd 2007
  948. - ad.module
  949. o add support for displaying multiple unqiue ads. The automatically
  950. created ad blocks include a configuration option supporting this new
  951. feature.
  952. o rename "database cache" to "none", as it's not a cache at all. This
  953. paves the way for later adding support for an actual database level
  954. ad cache.
  955. - adserve.php
  956. o add support for displaying multiple unique ads.
  957. - ad_image.module
  958. o fix paths to work when hosting Drupal from a subdirectory.
  959. January 20th 2007
  960. - ad_image.php
  961. o bugfix #111130: Must pass $node when calling adapi (for pre-PHP5 support)
  962. January 15th 2007
  963. - ad.module
  964. o add support for filter types with ads
  965. o manually invoke ad_ modules to support pre-PHP5 installations
  966. o move 'my ads' to main menu, not under user name
  967. o only display 'ad owners' tab for ad content
  968. - adserve.php
  969. o allow periods (.) in ad path
  970. - ad_image.php
  971. o update adapi to support pre-PHP5 installations
  972. - ad_text.php
  973. o update adapi to support pre-PHP5 installations
  974. January 3rd 2007
  975. - adserve.php
  976. o strip all but allowed characters input from $_GET to prevent XSS attacks
  977. January 1st 2007 (beta2)
  978. - ad.module
  979. o add support for externally defined ad caching methods
  980. o provide new administrative screen with statistics overview
  981. o cleanup permissions:
  982. - if have 'administer advertisements' automatically have all ad perms
  983. - introduce new 'manage owners' permission
  984. - remove redundant permission tests
  985. - adserve.php
  986. o add support for externally defined ad caching methods
  987. December 31'st 2006 (beta1)
  988. - ad.module
  989. o implement file cache
  990. o pass in path to files directory, abbreviate all url variables
  991. o properly display ad status even with limited permissions
  992. o give primary ad owner 'modify status' permission by default
  993. - adserve.php
  994. o implement file cache
  995. December 30'th 2006
  996. - ad.module
  997. o fix logic that locates adserve.php, cleanup associated error messages
  998. o replace 'edit own advertisements' with 'manage advertisements'
  999. o add page for displaying all advertisements owned by specific user
  1000. o add interface for removing ad owners from an ad
  1001. o don't allow user to be added as ad owner unless is has 'manage
  1002. advertisements' or 'administer advertisements' premissision
  1003. o by default only add 'access statistics' and 'access click history' to new
  1004. ad owners.
  1005. o when using filecache, default to using 3 files for better performance
  1006. o pass number of files to use for filecache to adserve.php
  1007. - adserve.php
  1008. o retrieve number of files to use for filecache from $_GET variable
  1009. - ad_image.module
  1010. o display actual ad in node teaser
  1011. - ad_text.module
  1012. o display actual ad in node teaser
  1013. December 30'th 2006 (0.6)
  1014. - ad.module
  1015. o implement granular advertisement permission system with the following
  1016. default permissions: access statistics, access click history, modify
  1017. group, modify status
  1018. o add default ad owner and permissions when creating new ads
  1019. December 28'th 2006
  1020. - ad.module
  1021. o track hostid when clicking an ad
  1022. o implement form for adding multiple owners to an ad
  1023. o implement form for granting per-user permissions to each ad
  1024. - ad_image.module
  1025. o include hostid when displaying ad so clicks can be tracked to host
  1026. - ad_text.module
  1027. o include hostid when displaying ad so clicks can be tracked to host
  1028. December 27'th 2006 (0.5)
  1029. - ad.module
  1030. o search for adserve.php from top level directory to support multi-site
  1031. installations (module may not live in /modules)
  1032. o no longer try specifying how many dirs above adserve.php index.php is
  1033. - adserve.php
  1034. o improve debugging output
  1035. o search for bootstrap.inc
  1036. - ad_image.module
  1037. o specify absolute path to ad image so can display from non-front pages
  1038. - ad_text.module
  1039. o define 'redirect' adapi hook so clicking text ads takes you to proper url
  1040. December 25'th 2006
  1041. - ad.install
  1042. o define ad_permissions table
  1043. o define ad_owners table
  1044. o define ad_notifications table
  1045. o define ad_hosts table
  1046. - ad.module
  1047. o fix ad statistics to display even if none for current hour
  1048. o implement statistics for current week
  1049. o register unique hostid for each add owner for displaying ads remotely
  1050. o enforce matching ad status and node status
  1051. o only display clicks and statistics for ads, not all ad types
  1052. o stub in support for ad owners, ad owner permissions and add owner
  1053. notifications
  1054. o display group name instead of just group id when listing ads
  1055. o add regex in search for adserve.php to not match ie .swp files
  1056. - adserve.php
  1057. o implement cache types in switch statement
  1058. o track hostid when viewing ads for displaying on remote sites
  1059. - ad_text.module
  1060. o use htmlentities() to encode ad text
  1061. December 11'th 2006 (0.3.1)
  1062. - ad.install
  1063. o ad missing comma
  1064. o remove isdefault column from ad_groups table
  1065. - ad.module
  1066. o always display all_time statistics for ads, even if 0
  1067. o for simplicity, hard code 'default' group to be gid 1
  1068. o do not allow editing or deleting of 'default' group
  1069. o auto-select ad type if only one type available
  1070. - ad_image.module
  1071. o perform check_install when displaying node form
  1072. December 10'th 2006 (0.3.0)
  1073. - ad.module
  1074. o support submenu under module settings
  1075. o require ad type be selected before show node form
  1076. o only display image upload error after preview or submit
  1077. - ad_image.module
  1078. o when displaying ad, wrap in appropriate
    's.
  1079. - ad_text.module
  1080. o implement function to display text ads
  1081. o simplify ads to be just header and body
  1082. o single global settings for min and max header and body lengths
  1083. o implement adapi for text ads
  1084. o display form for creating and editing text ads
  1085. - ad_text.install
  1086. o new table for storing text ads.
  1087. December 9'th 2006 (0.2.4)
  1088. - ad.module
  1089. o fix ad creation to work when using multiple ad_type modules
  1090. o only display click history when there is one
  1091. - ad_image.module
  1092. o display images during preview
  1093. o set error if no image is uploaded
  1094. - ad_text.module
  1095. o save ad_text group settings
  1096. o begin to stub in adapi
  1097. o stub in node_form
  1098. November 30'th 2006 (0.2.3)
  1099. - adserve.php
  1100. o move redundant javascript logic from ad_type modules into adserve.php
  1101. - ad_text.install
  1102. o clean up ad_text schema
  1103. - ad_text.module
  1104. o initial support for ad group configuration
  1105. - ad_image.install
  1106. o remove extra id from ad_image_format table
  1107. - ad_image.module
  1108. o remove javascript logic
  1109. November 29'th 2006 (0.2.2)
  1110. - ad.module
  1111. o auto-generate advertisemnt blocks for each ad group
  1112. o fix block management after menu restructuring
  1113. - ad_image.module
  1114. o merge in version 0.2.1 that was missed in previous tarball
  1115. November 29'th 2006 (0.2.1)
  1116. - ad.module
  1117. - ad_image.module
  1118. o Implemented basic functionality
  1119. April 17, 2006
  1120. - ad.module
  1121. o Remove calls to tablesort_pager(), removed during Drupal 4.7 development