DEPRECATION WARNING
This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.
EXT: Modern Downloads¶
Author: | Kasper Skårhøj |
---|---|
Created: | 2002-11-01T00:32:00 |
Changed: | 2008-04-26T18:16:49 |
Classification: | ab_downloads |
Email: | typo3@andreas-bulling.de |
Info 2: | |
Info 3: | |
Info 4: |
EXT: Modern Downloads¶
Extension Key: ab_downloads
Copyright 2005 - 2009, Andreas Bulling, <typo3@andreas-bulling.de>
This document is published under the Open Content License
available from http://www.opencontent.org/opl.shtml
The content of this document is related to TYPO3
- a GNU/GPL CMS/Framework available from www.typo3.com
Table of Contents¶
EXT: Modern Downloads 1
Introduction 1
What does it do? 1
Online Resources 2
Screenshots 3
Users manual 19
Changing from other download extensions 24
FAQ 24
Adminstration 29
Configuration 29
Files 29
Reference 29
Extending ab_downloads 33
Sponsoring ab_downloads development 33
Known problems 33
To-Do list 34
Changelog 34
Introduction¶
What does it do?¶
This is a modern download plugin based on the Modern Linklist (ab_linklist) extension.
It has the following features:
- Backend users can create categories and downloads, they can accept or delete new downloads proposed by frontend users, accept or disable downloads reported broken by frontend users and can check for non- working downloads (the latter also from behind a proxy server as curl support is available).
- Frontend users can rate downloads, the current rating/number of votes is shown in the detailed download view and also with small stars in the category view. Both features can be disabled in the backend.
- Frontend users can specify a contact address and a preview image when proposing a new download. The maximum sizes for images in the category and detailed link view can be defined in the backend.
- All download and category values (label, description, href, rating, preview image, parent category, ...) are fully editable in the backend which also provides comfortable, graphical category trees.
- The extension features comprehensive, FlexForm-based configuration options for all important plugin settings.
- For each category the total number of downloads (plus downloads in all subcategories) is shown in the frontend.
- For each category an image can be defined which is shown in front of the category link instead of the standard black triangle.
- The number of downloads shown on a page can be limited to a certain value, a comfortable page browser has been added.
- Flexible "TOP lists" show the TOPx number of downloads concerning rating, clicks and creation time per category (and below).
- A “TREE” view shows a tree of all categories and downloads on one page similar to other download extensions around.
- A “CATALOG” view shows a catalog of the categories and downloads similar to the google catalog.
- date_stdWrap and time_stdWrap functions can be used to format the display of date and time.
- An e-mail (with configurable subject) is sent to a specified address if a download is proposed/reported broken by a frontend user.
- The plugin supports basic multiple-click and multiple-rating protection by storing the user's IP address.
- A blacklist for words in the label and description fields of a download is provided. If the user-submitted label and/or description contains one of these words, the download proposal is refused with an error message.
- A (simple and slow) search function has been added which provides searching on label and description of downloads.
- The design and layout can be fully customized and fitted to your needs by editing the supplied CSS-based and table-based templates. “Default CSS-styles” with some basic CSS-definitions are also provided.
- Caching of the output can be enabled and the extension also makes use of the new cHash mechanism.
- The extension is capable of displaying multi-language content: Categories and downloads can be translated using the standard TYPO3 facilities.
- The extension supports the versioning of downloads and the workspaces functionality offered by TYPO3 version 4.0.
- The extension features import wizards which allow to 1) automatically generate a SQL query to import categories/downloads from other download lists/database tables and 2) to import categories/downloads from a CSV file.
- The extension also features an export wizard which allows to export categories/downloads to different output formats (HTML, XML, TXT and CSV are supported so far).
- The backend module offers a statistics functionality which allows to view statistics on the categories/downloads contained in the database.
- FreeCap and Captcha Library support (extensions: "sr_freecap" and “captcha”) is integrated for the “Propose a new download” frontend form.
- The extension supports frontend editing of download records.
- The extension features sponsored downloads which are always shown first in the different views and can have assigned an additional description.
Online Resources¶
If you like this extension please consider to rate it at:
http://typo3.org/extensions/repository/view/ab_downloads/$CURRENT_V ERSION$/rating/
Project homepage:
http://typo3.andreas-bulling.de/en/extensions/modern-downloads/
Subversion repository:
http://repos.andreas-bulling.de/ab_downloads/
Bugtracker:
http://typo3.andreas-bulling.de/en/bug-tracker/
Donations:
http://typo3.andreas-bulling.de/en/donate-money/
A demo with the most recent features enabled can be found here:
http://typo3.andreas-bulling.de/en/demos/modern-downloads/
Most of the new labels/backend options have only been translated to German yet. So please feel free to send me more translations to make this extension usable for more people!
Screenshots¶
Frontend¶
This is the first of the three available main views, the “CATEGORY” download and category view in the frontend. The style and the layout can easily be changed via a template and CSS of course. You can see a “Propose a new download” (display for anonymous users can be suppressed with a backend option) [1] and also three of the possible “TOP” lists available with 5 downloads each (can be changed in the backend): Rating, Clicks and Date of adding [2].
Following “Propose a new download” frontend users can propose new downloads with a form you can see in the following illustration. New downloads have to be approved in the backend before they become visible in the frontend.
The following is the same view as in illustration 1 but with an additional link path [1] for easier navigation in the category tree. You can see the stars representation [2] which can be disabled for the category view in the backend. You can also see the three links shown for each download: To view the details, to report a download as broken and to rate a download [3]. These features are shown in detail in the next three illustrations. Please notice that instead of the “report broken” link in this case only a short text is shown because the download has been reported as broken before.
From the category view the user is able to view a page giving detailed information about a download:
Another feature is the handling of broken downloads. Frontend users can report downloads as broken from the category view. After that a backend notification record is created for further handling by BE users.
Frontend user also have the possibility to rate downloads which you can see in the following illustration:
The following is one of the additional views, the “SEARCH” view. It displays a search function one can use to search for a word in the titles and descriptions of all downloads available in the frontend.
The second main view meant as an alternative to the “CATEGORY” view is the “TREE” view which displays a tree of all categories and downloads on one page similar to other download extensions around.
The last main view is the “CATALOG” view which displays a catalog of the categories and downloads similar to the google catalog.
Backend¶
The extension's backend functionality can be divided into two main parts:
The “Modern Downloads” backend module
The functionality provided within the “Edit record” backend forms for categories and downloads.
The “Modern Downloads” backend module
Here you can see an overview of downloads submitted by frontend users. By clicking on the two icons besides each download you can accept or delete them. You can also select a different category for the download.
In this view you can see all the downloads that were reported as broken by frontend users. By clicking on the two icons besides each download you can accept or disable them.
Here you can see an overview of all downloads including their availability (online/offline). You have the possibility to enable/disable certain downloads by clicking on the two icons besides each download.
Here you can generate a SQL query to import categories/downloads from other download extensions/database tables. Just follow the instructions step by step.
Here you can export categories/downloads to different output formats. Just follow the instructions step by step.
Here you can view statistics on the categories/downloads in the database.
The functionality provided within the “Edit record” backend forms
This is how the “Edit record” backend form for categories looks like:
And this is how the “Edit record” backend form for downloads looks like:
Users manual¶
Install the extension via the Extension Manager (EM).
Select either the “CSS-based template (ab_downloads)” or the “Table- based template (ab_downloads)" in the "Include static (from extensions)"-section of your main/extension TypoScript template. You can also select “Default CSS-styles (ab_downloads)” if you want to get some basic CSS-definitions.
If you don't know how to do this see section "Templates" in the "Getting Started" document: http://typo3.org/documentation/document- library/doc_tut_quickstart/Templates/
Insert a new Content element “Plugin” on the page where the linklist shall be displayed. Therefore choose “Modern Downloads” according to the following Illustration:
After that you can configure the plugin using the following FlexForms (have a look at the reference for further information about the different options and their meaning):
Now you can start adding (sub)category and download records to the page where you just inserted the plugin or to any other page/sysfolder if you set the “Startingpoint” appropriately.
Have fun! ;)
Changing from other download extensions¶
If you want to import your categories and downloads from other (TYPO3) extensions or database tables an appropriate SQL query can be generated automatically in the “Import categories/downloads” backend view. Just follow the instructions step by step and use for example phpMyAdmin in your TYPO3 backend afterwards to execute the query.
FAQ¶
How can I change the appearance of the pagebrowser?
When looking at the generated html source code you can see that the pagebrowser and its components are wrapped in several <div> tags which you can freely modify by adding appropriate CSS definitions to your site.
You also have the possibility to substitute the built-in pagebrowser with your own pagebrowser script. The file "example_userPageBrowserFunc.php" was added in folder "res/" of the extension which contains a example pagebrowser userfunction you can change to fit your needs (see the file for a description and the needed TypoScript setup).
How can I enable the PiBasePagebrowser/use the new features of the extended TYPO3 v3.8.0 pagebrowser?
Just overwrite the provided (static) TypoScript setup in your extension/main template. The following default settings have been predefined:
usePiBasePagebrowser = 0 pageBrowser { maxPages = 50 showResultCount = 1 showPBrowserText = 0 dontLinkActivePage = 1 tableParams = cellpadding="2" align="center" hscText = 1 # settings for the extended pagebrowser from TYPO3 3.8.0 showFirstLast = 0 pagefloat = center showRange = 0 disabledLinkWrap = <span style="color:#bbb;">|</span> inactiveLinkWrap = | activeLinkWrap = <b>|</b> browseLinksWrap = | showResultsWrap = |<br /> showResultsNumbersWrap = | browseBoxWrap = <div class="tx-abdownloads-pi1-browsebox">|</div> }
How can I change the display of date and time?
First make sure to set the correct language and locale in your main template (please refer to the TYPO3 Documentation on how to do this). After that just overwrite the provided (static) TypoScript setup in your extension/main template.
For example a possible German format:
plugin.tx_abdownloads_pi1 {
date_stdWrap.strftime = %d. %B %Y
time_stdWrap.strftime = %H:%M:%S Uhr
}
How can I change the labels of the pagebrowser?
Create an extension template for the page you added the “Modern Downloads” to and add the following TypoScript code in the “Setup” field of the template.
For example apossible German format (not using the PiBasePagebrowser):
plugin.tx_abdownloads_pi1 { _LOCAL_LANG.de { pi_list_browseresults_prev = < vorherige Einträge pi_list_browseresults_next = weitere Einträge > pi_list_browseresults_displays = Anzeige: <b>%s bis %s</b> von <b>%s</b> } }
Another German example (using the PiBasePagebrowser in this case):
plugin.tx_abdownloads_pi1 { # enable the PiBasePagebrowser usePiBasePagebrowser = 1 _LOCAL_LANG.de { pi_list_browseresults_prev = < vorherige Einträge pi_list_browseresults_next = weitere Einträge > pi_list_browseresults_displays ( Anzeige: <b>###FROM### bis ###TO###</b> von <b>###OUT_OF###</b> ) } }
How can I change the label of the search button?
Create an extension template for the page you added the “Modern Downloads” to and add the following TypoScript code in the “Setup” field of the template.
For example a possible German format:
plugin.tx_abdownloads_pi1{
_LOCAL_LANG.de{
pi_list_searchBox_search=Suchen
} }
How can I change the appearance and layout of the download lists?
In subfolder “pi1” of the extension you will find an example template file called “tx_abdownloads_pi1.tmpl” which is used by the extension by default. Copy this file to some other place (perhaps where you store your other templates) and edit it to fit your needs. Afterwards select it in the plugin options under “Template file”. As the ATagParams of the frontend links can be defined/changed you can also use this additional method.
How can I define/change the parameters (ATagParams) of the frontend links?
Just overwrite the provided (static) TypoScript setup in your (extension) template. The following default style classes for the links have been predefined:
# listView link/category parameter settings listView { # ATagParams categoryLabel.ATagParams = class="tx_abdownloads_listView_categoryLabel" linkAddNew.ATagParams = class="tx_abdownloads_listView_linkAddNew" linkLabel.ATagParams = class="tx_abdownloads_listView_linkLabel" linkDetails.ATagParams = class="tx_abdownloads_listView_linkDetails" linkReportBroken.ATagParams = class="tx_abdownloads_listView_linkReportBroken" linkRate.ATagParams = class="tx_abdownloads_listView_linkRate" linkImage.ATagParams = class="tx_abdownloads_listView_linkImage" } # treeView link parameter settings treeView { # ATagParams linkAddNew.ATagParams = class="tx_abdownloads_treeView_linkAddNew" linkLabel.ATagParams = class="tx_abdownloads_treeView_linkLabel" linkDetails.ATagParams = class="tx_abdownloads_treeView_linkDetails" linkReportBroken.ATagParams = class="tx_abdownloads_treeView_linkReportBroken" linkRate.ATagParams = class="tx_abdownloads_treeView_linkRate" linkImage.ATagParams = class="tx_abdownloads_treeView_linkImage" } # searchView link parameter settings searchView { # AtagParams categoryLabel.ATagParams = class="tx_abdownloads_searchView_categoryLabel" linkLabel.ATagParams = class="tx_abdownloads_searchView_linkLabel" linkDetails.ATagParams = class="tx_abdownloads_searchView_linkDetails" linkReportBroken.ATagParams = class="tx_abdownloads_searchView_linkReportBroken" linkRate.ATagParams = class="tx_abdownloads_searchView_linkRate" linkImage.ATagParams = class="tx_abdownloads_searchView_linkImage" } # topView link parameter settings topView { # ATagParams linkLabel.ATagParams = class="tx_abdownloads_topView_linkLabel" linkDetails.ATagParams = class="tx_abdownloads_topView_linkDetails" linkImage.ATagParams = class="tx_abdownloads_topView_linkImage" } # catalogView link parameter settings catalogView { # AtagParams categoryLabel.ATagParams = class="tx_abdownloads_catalogView_categoryLabel" subcategoryLabel.ATagParams = class="tx_abdownloads_catalogView_subcategoryLabel" linkAddNew.ATagParams = class="tx_abdownloads_catalogView_linkAddNew" linkLabel.ATagParams = class="tx_abdownloads_catalogView_linkLabel" linkDetails.ATagParams = class="tx_abdownloads_catalogView_linkDetails" linkReportBroken.ATagParams = class="tx_abdownloads_catalogView_linkReportBroken" linkRate.ATagParams = class="tx_abdownloads_catalogView_linkRate" linkImage.ATagParams = class="tx_abdownloads_catalogView_linkImage" }
How can I define/change the wraps for the generated output? Just overwrite the provided (static) TypoScript setup in your (extension) template. The following wraps, crops, etc. have been predefined: # General stdWraps categoryPath_stdWrap.wrap = | linkLabel_stdWrap.wrap = <b>|</b> addLink_stdWrap.wrap = <b>|</b> addLinkText_stdWrap.wrap = <b>|</b> mandatoryField_stdWrap.wrap = <span style="color:red;">*</span>| reportLinkBrokenText_stdWrap.wrap = <b>|</b> rateLinkText_stdWrap.wrap = <b>|</b> formErrorMsg_stdWrap.wrap = | nonPublicLinkMessage_stdWrap = | linkLabel_stdWrap.wrap = | linkDescription_stdWrap.wrap = | # listView link/category parameter settings listView { # Wraps categories_stdWrap.wrap = | category_stdWrap.wrap = | categoryPath_stdWrap.wrap = | categoryLabel_stdWrap.wrap = | categoryDescription_stdWrap { wrap = <br/><i>|</i> crop = } links_stdWrap.wrap = <b>|</b> linkAddNew_stdWrap.wrap = | linkTeaser_stdWrap { wrap = | crop = 30 | ... | 1 } linkDescription_stdWrap.wrap = | linkLabel_stdWrap.wrap = | linkDetails_stdWrap.wrap = | linkReportBroken_stdWrap.wrap = | linkRate_stdWrap.wrap = | } # treeView link parameter settings treeView { # Wraps categoryLabel_stdWrap.wrap = <b>|</b> categoryDescription_stdWrap { wrap = <br/><i>|</i> crop = } linkAddNew_stdWrap.wrap = | linkTeaser_stdWrap { wrap = | crop = 30 | ... | 1 } linkDescription_stdWrap.wrap = | linkLabel_stdWrap.wrap = | linkDetails_stdWrap.wrap = | linkReportBroken_stdWrap.wrap = | linkRate_stdWrap.wrap = | } # searchView link parameter settings searchView { # Wraps resultMessage_stdWrap.wrap = | noLinksMessage_stdWrap.wrap = | categoryPath_stdWrap.wrap = | categoryLabel_stdWrap.wrap = <b>|</b> categoryDescription_stdWrap { wrap = <br/><i>|</i> crop = } links_stdWrap.wrap = <b>|</b> linkTeaser_stdWrap { wrap = | crop = 30 | ... | 1 } linkDescription_stdWrap.wrap = | linkLabel_stdWrap.wrap = | linkDetails_stdWrap.wrap = | linkReportBroken_stdWrap.wrap = | linkRate_stdWrap.wrap = | } # topView link parameter settings topView { # Wraps topMessage_stdWrap.wrap = <b>|</b> categoryPath_stdWrap.wrap = | categoryLabel_stdWrap.wrap = <b>|</b> categoryDescription_stdWrap { wrap = <br/><i>|</i> crop = } linkTeaser_stdWrap { wrap = | crop = 30 | ... | 1 } linkDescription_stdWrap.wrap = | linkLabel_stdWrap.wrap = | linkDetails_stdWrap.wrap = | } # catalogView link parameter settings catalogView { # Wraps categoryPath_stdWrap.wrap = | categoryLabel_stdWrap.wrap = | categoryDescription_stdWrap { wrap = <br/><i>|</i> crop = } subcategoryLabel_stdWrap.wrap = | subcategoryDescription_stdWrap { wrap = <br/><i>|</i> crop = } links_stdWrap.wrap = <b>|</b> linkAddNew_stdWrap.wrap = | linkTeaser_stdWrap { wrap = | crop = 30 | ... | 1 } linkDescription_stdWrap.wrap = | linkLabel_stdWrap.wrap = | linkDetails_stdWrap.wrap = | linkReportBroken_stdWrap.wrap = | linkRate_stdWrap.wrap = | }
How can I define/change the indention factor for the TREE view?
Just overwrite the provided (static) TypoScript setup in your (extension) template. The following indentionFactor has been predefined:
# treeView link parameter settings treeView { # indentionFactor indentionFactor = 40 }
How can I define/change the separator and the appendix for the CATALOG view?
Just overwrite the provided (static) TypoScript setup in your (extension) template. The following separator and appendix have been predefined:
# catalogView link parameter settings catalogView { # Separator and appendix separator = , appendix = ... }
How can I access/use arbitrary database fields of categories or downloads with TypoScript?
For example, to access/use the “label” database field, create an extension template for the page you added the “Modern Downloads” to and add the following TypoScript code in the “Setup” field of the template:
# Condition is true if a category is shown [globalVar = GP:tx_abdownloads_pi1|category_uid > 0] lib.downloadTitle = COA lib.downloadTitle { 10 = RECORDS 10 { source = {GPvar:tx_abdownloads_pi1|category_uid} source.insertData = 1 tables = tx_abdownloads_category conf.tx_abdownloads_category > conf.tx_abdownloads_category = TEXT conf.tx_abdownloads_category.field = label } } # Condition is true if a link is shown [globalVar = GP:tx_abdownloads_pi1|uid > 0] lib.downloadTitle = COA lib.downloadTitle { 10 = RECORDS 10 { source = {GPvar:tx_abdownloads_pi1|uid} source.insertData = 1 tables = tx_abdownloads_download conf.tx_abdownloads_link > conf.tx_abdownloads_link = TEXT conf.tx_abdownloads_link.field = label } } [GLOBAL]
This creates a TypoScript object called "lib.downloadTitle" filled with the label of a) the current category or b) the current link. This objectt could for example be used to fill the description HTML metatag:
page.headerData.20 > page.headerData.20 < lib.downloadTitel page.headerData.20.wrap = <meta name="description" content=" | " />
How can I enable the frontend edit panels for download records?
First, make sure the adminPanel is enabled in the TypoScript “Setup” of your main/extension template:
config.admPanel = 1
Afterwards, enable “Display Edit Panels” in the “Editing” section of the admin panel and click “Update”. Given that you have added the ###EDIT_PANEL### marker to your template, the edit panels will show up in the frontend.
I've set the “ Maximum filesize of downloads ” appropriately but I still can't upload files larger than X MB, whats's going wrong?
There are several other places which you should check:
PHP: “post_max_size” and “upload_max_filesize” options usually in php.ini
TYPO3: “maxFileSize” in the Install Tool
Adminstration¶
Please keep track of the Changelog section to catch up on deleted, added or changed template markers because they will only be proposed there and in the ChangeLog file .
Configuration¶
Files¶
The following table shows the files used/available in the extension:
pi1/class.tx_abdownloads_pi1.php¶
File
pi1/class.tx_abdownloads_pi1.php
Description
Main PHP-class used to display the frontend plugin.
pi1/tx_abdownloads_pi1_css.tmpl¶
File
pi1/tx_abdownloads_pi1_css.tmpl
Description
The CSS-based ab_downloads HTML template file.
pi1/tx_abdownloads_pi1.tmpl¶
File
pi1/tx_abdownloads_pi1.tmpl
Description
The table-based ab_downloads HTML template file.
mod1/index.php¶
File
mod1/index.php
Description
Main PHP-class used to display the backend module.
lib/class.tx_abdownloads_treeview.php¶
File
lib/class.tx_abdownloads_treeview.php
Description
This class builds the “category tree” in BE forms and checks for recursive categories
res/example_userPageBrowserFunc.php¶
File
res/example_userPageBrowserFunc.php
Description
Example of a pagebrowser userfunction (“userPageBrowserFunc”): This file contains a alternative pagebrowser function (see the file for a description and the needed TS setup).
res/ab_downloads_styles.css¶
File
res/ab_downloads_styles.css
Description
CSS-styles for the HTML template files. This file contains the style information from the static extension template “Default CSS-styles”.
res/example_realURL_setup.txt¶
File
res/example_realURL_setup.txt
Description
Example RealURL setup for ab_downloads.
Folders:¶
File
Folders:
static/css_based/
static/table_based/
static/css/
Description
These are the static extension templates:
“CSS-based template”
“Table-based template”
”Default CSS-styles”
Reference¶
plugin.tx_abdownloads_pi1 properties: TS configuration
sys_language_mode¶
Property
sys_language_mode
Data Type
string
Description
Defines how not-translated download records are handled.
Possible values:
- strict
Default is to display download records in the default language (sys_language_uid=0) if no translation is available. Setting “sys_language_mode” to “strict” will only display records in the chosen language.
If “plugin.tx_abdownloads_pi1.sys_language_mode” is empty but a value for “page.config.sys_language_mode” has been defined ab_downloads will use this value instead.
Example:
plugin.tx_abdownloads_pi1.sys_language_mode = strict
see: http://typo3.org/documentation/document- library/doc_core_tsref/quot_CONFIG_quot/ -> search: “sys_language_mode”
Default
The following table shows the FlexForm “General Settings”:
Which view to display¶
Property
Which view to display
Description
Defines which view shall be displayed in the frontend
Main views:
- CATEGORY => Hierarchical list of categories and downloads on several pages
- TREE => Tree of all categories and downloads on one page
- CATALOG => Catalog of the categories and downloads similar to the google catalog
Additional views:
- SEARCH => Search form and results
- TOP => TOP List(s)
Default
CATEGORY
Allow not logged-in users to propose new downloads¶
Property
Allow not logged-in users to propose new downloads
Description
With this parameter you can allow anonymous users (users that are not logged in) to propose new downloads.
Possible values:
- checked (Yes)
- not checked (No)
Default
Not checked
Default status of proposed downloads¶
Property
Default status of proposed downloads
Description
Defines the default status of proposed downloads.
Possible values:
- Pending
- Approved
- Reported Broken
- Disabled
Default
Pending
Maximum filesize of downloads¶
Property
Maximum filesize of downloads
Description
Defines the maximum filesize of downloads in bytes used for the “Propose a new download form”.
Possible values:
- any Integer. e.g. 5
Default
Blacklisted words for label and description (separated by comma)¶
Property
Blacklisted words for label and description (separated by comma)
Description
All words given in this field will be blacklisted for label and description when a frontend user proposes a new download.
Possible values:
- any number of strings separated by comma
Default
Mandatory fields for frontend form (separated by comma)¶
Property
Mandatory fields for frontend form (separated by comma)
Description
Defines which fields are mandatory when a frontend user proposes a new download.
Default
Page with CATEGORY/TREE/CATALOG plugin (if different)¶
Property
Page with CATEGORY/TREE/CATALOG plugin (if different)
Description
Defines the page with the CATEGORY/TREE/CATALOG plugin if the plugins of type SEARCH/TOP are on another page.
Possible values:
- any page
Default
Use captcha extension¶
Property
Use captcha extension
Description
Defines which captcha extension shall be used; the captcha form field will become mandatory.
Possible values:
- none
- freeCap CAPTCHA (sr_freecap)
- Captcha Library (captcha)
Default
Startingpoint¶
Property
Startingpoint
Description
Defines the page(s) where categories and downloads are stored.
Possible values:
- any page(s)
Default
Recursive¶
Property
Recursive
Description
Defines to which level the startingpoint page(s) should be search recursively.
Possible values:
- none
- 1 level
- 2 levels
- 3 levels
- 4 levels
- Infinite
Default
The following table shows the FlexForm “Template”:
Template file¶
Property
Template file
Description
Defines the template file to use.
Default
Number of alternating template layouts¶
Property
Number of alternating template layouts
Description
Defines the number of alternating template layouts ###DOWNLOAD_X### used in the ###VIEW_CATEGORY### and ###VIEW_CATALOG### template subparts.
Possible values:
- any Integer. e.g. 5
Default
2
The following table shows the FlexForm “Notification Settings”:
Admin name¶
Property
Admin name
Description
The name of the administrator.
Default
Modern Downloads
Admin e-mail address¶
Property
Admin e-mail address
Description
The e-mail address all notification e-mails are send to.
Default
Subject for 'added download' notification e-mails¶
Property
Subject for 'added download' notification e-mails
Description
The subject for 'added download' notification e-mails.
Default
Modern Downloads - New download added
Subject for 'broken download' notification e-mails¶
Property
Subject for 'broken download' notification e-mails
Description
The subject for 'broken download' notification e-mails.
Default
Modern Downloads – Download reported broken
The following table shows the FlexForm “Display Settings”:
Start category¶
Property
Start category
Description
Defines the start category.
Default
Sort downloads by¶
Property
Sort downloads by
Description
Defines by which attribute the downloads are sorted.
Possible values:
- Label
- Date of creation
- Clicks
- Rating
- Votes
- Manual
- Random
Default
Label
Sort order (downloads)¶
Property
Sort order (downloads)
Description
Defines the sort order of the downloads.
Possible values:
- Ascending
- Descending
Default
Ascending
Maximum number of downloads shown per category¶
Property
Maximum number of downloads shown per category
Description
Defines how many downloads per category are shown in the category view.
Possible values:
- any Integer. e.g. 5
Default
10
Sort categories by¶
Property
Sort categories by
Description
Defines by which attribute the categories are sorted.
Possible values:
- Label
- Date of creation
- Manual
- Random
Default
Label
Sort order (categories)¶
Property
Sort order (categories)
Description
Defines the sort order of the categories.
Possible values:
- Ascending
- Descending
Default
Ascending
Hide pagebrowser¶
Property
Hide pagebrowser
Description
Defines if the pagebrowser should be hidden.
Possible values:
- checked (Yes)
- not checked (No)
Default
Not checked
Hide rating stars¶
Property
Hide rating stars
Description
Defines if the rating stars should be hidden.
Possible values:
- checked (Yes)
- not checked (No)
Default
Not checked
Hide details link¶
Property
Hide details link
Description
Defines if the details link should be hidden.
Possible values:
- checked (Yes)
- not checked (No)
Default
Not checked
Hide report broken link¶
Property
Hide report broken link
Description
Defines if the report broken link should be hidden.
Possible values:
- checked (Yes)
- not checked (No)
Default
Not checked
Hide rate link¶
Property
Hide rate link
Description
Defines if the rate link should be hidden.
Possible values:
- checked (Yes)
- not checked (No)
Default
Not checked
Don't prefer sponsored downloads¶
Property
Don't prefer sponsored downloads
Description
Defines if sponsored downloads are always shown first in the different views.
Possible values:
- checked (Yes)
- not checked (No)
Default
Not checked
Show icons instead of links¶
Property
Show icons instead of links
Description
Defines if icons shall be displayed instead of links.
Possible values:
- checked (Yes)
- not checked (No)
Default
Not checked
Link images¶
Property
Link images
Description
Defines if/how images are linked in the views.
Possible values:
- Direct (directly linked to href counting click)
- Details (linked to detailed download view)
- Target (directly linked to href not counting click)
Default
Link labels¶
Property
Link labels
Description
Defines if/how labels are linked in the views.
Possible values:
- Direct (directly linked to href counting click)
- Details (linked to detailed download view)
- Target (directly linked to href not counting click)
Default
The following table shows the FlexForm “Image Settings”:
Max width for images in the category view¶
Property
Max width for images in the category view
Description
Defines the maximum width for images displayed in the category view. Bigger images get resized automatically.
Possible values:
- any Integer. e.g. 5
Default
600
Max height for images in the category view¶
Property
Max height for images in the category view
Description
Defines the maximum height for images displayed in the category view. Bigger images get resized automatically.
Possible values:
- any Integer. e.g. 5
Default
100
Max width for images in the detailed download view¶
Property
Max width for images in the detailed download view
Description
Defines the maximum width for images displayed in the detailed download view. Bigger images get resized automatically.
Possible values:
- any Integer. e.g. 5
Default
600
Max height for images in the detailed download view¶
Property
Max height for images in the detailed download view
Description
Defines the maximum height for images displayed in the detailed download view. Bigger images get resized automatically.
Possible values:
- any Integer. e.g. 5
Default
100
Max width for category images¶
Property
Max width for category images
Description
Defines the maximum width for category images. Bigger images get resized automatically.
Possible values:
- any Integer. e.g. 5
Default
25
Max height for category images¶
Property
Max height for category images
Description
Defines the maximum height for category images. Bigger images get resized automatically.
Possible values:
- any Integer. e.g. 5
Default
15
The following table shows the FlexForm “TOP Settings”:
Stick to start category ID in TOP view¶
Property
Stick to start category ID in TOP view
Description
Defines if the TOP view shall stick to the "Start category ID". If no "Start category ID" is defined "0" is used by default.
Possible values:
- checked (Yes)
- not checked (No)
Default
Not checked
Number of top rated downloads¶
Property
Number of top rated downloads
Description
Defines if and how many top rated downloads are shown in the frontend.
Possible values:
- any Integer. e.g. 5
Default
Number of top accessed downloads¶
Property
Number of top accessed downloads
Description
Defines if and how many top accessed downloads are shown in the frontend.
Possible values:
- any Integer. e.g. 5
Default
Number ofmost recent downloads¶
Property
Number ofmost recent downloads
Description
Defines if and how many most recent downloads are shown in the frontend.
Possible values:
- any Integer. e.g. 5
Default
Number of random downloads¶
Property
Number of random downloads
Description
Defines if and how many random downloads are shown in the frontend.
Possible values:
- any Integer. e.g. 5
Default
The following table shows the FlexForm “CATALOG Settings”:
Number of columns¶
Property
Number of columns
Description
Defines how many columns are shown in the frontend.
Possible values:
- any Integer. e.g. 5
Default
Max number of subcategories¶
Property
Max number of subcategories
Description
Defines how many subcategories are shown in the frontend.
Possible values:
- any Integer. e.g. 5
Default
Extending ab_downloads¶
The following hooks exist in ab_downloads:
Hook for processing extra markers for each download record in function fillMarkerArray() (recordMarkerProcessor)
For more information about hooks please refer to: TYPO3 Core API / Hooks and: http://typo3.org/development/articles/how-to-use-existing-hooks/
Sponsoring ab_downloads development¶
I'm working very hard on providing you with the best extensions available for TYPO3. The extensions are available for free and will always be available for free, including each and every line of its source code for everyone to modify and distribute. If you enjoy and use ab_downloads please consider supporting my projects financially. I'm in constant need of funds in order to finance my operations and to keep my development hardware and software updated.
As PayPal now charges fees, the preferred way of donating is to directly transfer money to my bank account (see below URL for details). However, you can also use my PayPal account. I suggest a donation of 50, 20 or 10 Euro, but you may donate any amount you please by filling in the amount you would like to contribute on
Known problems¶
none
To-Do list¶
- Switch from eregi to other method for searching.
- Sorting of links dependent on category (?)
Changelog¶
For the sake of a smaller document all changes of versions below the current minor one, as well as acknowledgments, documentation updates and smaller code cleanups were moved into the ChangeLog file.
Version 1.9.6 (2009-07-30)
Added support for the "Captcha Library" extension (extension key: "captcha"). Therefore extended the "Use captcha extension" FlexForm option and the ###CAPTCHA### subsubpart in the ###VIEW_ADD_NEW_DOWNLOAD### template subpart.
*** Please update your templates! ***
*** Please notice: Make sure that all previously defined settings are still correct after the update. ***
Added piping of all browser output through htmlspecialchars() and trim().
Renamed LIST view to CATEGORY view.
Added the possibility to use several search words as well as AND, OR, and NOT in the search form.
Added export and import functionality for the CSV format.
Changed behaviour of the backend module: Removed check if the page with the plugin was selected.
Fixed a bug where the dropdowns in the "Import categories/downloads from DB" backend form weren't shown properly.
Fixed a bug where downloadLabel_stdWrap wasn't applied to images/labels linked to the target URL.
Version 1.9.5 (2008-04-27)
For file extensions for which no icon is provided a default icon is used, now.
Added the possibility to define sponsored downloads which are always shown first in the different views. Therefore added the "Don't prefer sponsored downloads" FlexForm option.
Added the possibility to provide an additional description for sponsored downloads in the backend's FlexForm. Therefore added the ###DOWNLOAD_SPONSORED_DESCRIPTION### marker to the ###VIEW_CATEGORY###, ###VIEW_TREE###, ###VIEW_SEARCH###, ###VIEW_TOP###, ###VIEW_CATALOG### and ###VIEW_DETAILS_FOR_DOWNLOAD### template subparts and the "Sponsored Description" FlexForm option.
*** Please update your templates! ***
Added the possibility to define the sort order of the categories and downloads as "random" in the backend. Therefore extended the "Sort downloads by" and "Sort categories by" FlexForm options.
Added the possibility to tag downloads with additional search terms in the backend's FlexForm. Therefore added the "Tags (comma separated)" FlexForm option and extended the search function.
Fixed a bug where links set in the description field with the RTE weren't displayed in the teaser in the different views.
Added the possibility to define an arbitrary number of alternating layouts ###DOWNLOAD_X### in the ###VIEW_CATEGORY### and ###VIEW_CATALOG### template subparts (defaults to 2 if not set). Therefore added the "Number of alternating template layouts" FlexForm option.
Fixed a bug where the mandatory category field was not marked in the "Propose a new download" form.
*** Please notice: Make sure that all previously defined settings are still correct after the update. ***
Reorganized and cleaned up the backend FlexForm.
*** Please notice: Make sure that all previously defined settings are still correct after the update. ***
Version 1.9.4 (2008-03-20)
- Added the possibility to use several instances of the plugin simultaneously.
- Fixed a bug where it was not possible to assign more than one usergroup to a download/category.
- Transferred fix for bug #0000061 from extension Modern Linklist (ab_linklist).
Version 1.9.3 (2007-10-20)
Added the first version of the documentation.
Added support for frontend editing of download records. Therefore added the ###EDIT_PANEL### marker to the ###VIEW_CATEGORY###, ###VIEW_TREE###, ###VIEW_SEARCH###, ###VIEW_TOP###, ###VIEW_CATALOG### and ###VIEW_DETAILS_FOR_DOWNLOAD### template subparts.
*** Please notice: You have to enable the edit panels in the "Editing" section of the Admin Panel. ***
Improved the "Mandatory fields for frontend form" FlexForm option.
*** Please notice: Make sure that all previously defined settings are still correct after the update. ***
Changed the behaviour of the "stars"-representation for the download ratings. In any case, five stars are shown while each star represents a rating value of 2.
Fixed a bug in getViewReportBrokenDownloadResult() which allowed malicious users to change the status of a download by modifying the tx_abdownloads_pi1[uid] GET parameter.
Transferred fix for bug #0000042 from extension Modern Linklist (ab_linklist).
Transferred fix for bug #0000051 from extension Modern Linklist (ab_linklist).
Version 1.9.2 (2007-09-01)
- Added the possibility to select if images/labels shall be linked to the target file in the backend. Therefore extended the "Link images" and "Link labels" FlexForm options.
- Added the possibility to define the sys_language_mode with TypoScript. sys_language_mode == 'strict': If a certain language is requested, select only download records from the default language which have a translation.
- Added support for AJAX-based category trees in the backend forms (required extension: "xajax").
- Added the "recordMarkerHook" to fillMarkerArray() which allows to use additional markers for each download.
- Fixed a bug where downloads from unselected sysfolders were shown in the SEARCH view.
- Fixed a bug where the database field was filled even if no image had been submitted in the "Propose a new download" form.
- Modified extension constraints to depend on static_info_tables.
- Transferred fix for bug #0000033 from extension Modern Linklist (ab_linklist).
- Fixed some minor XHTML errors in the templates.
- Completed French translation.
Version 1.9.1 (2007-04-27)
Replaced the static form in the SEARCH view with a template-based one. Therefore added the ###FORM### subsubpart to the ###VIEW_SEARCH### template subpart and extended all provided CSS definitions.
*** Please update your templates! ***
Added the possibility to define an imageLinkWrap with TypoScript applied to images in all views if the "Link images" FlexForm option is not set. Therefore added a default downloadImage.imageLinkWrap in the different TypoScript setups.
Added the possibility to use the download language, the download license and the download homepage in all views. Therefore added the ###DOWNLOAD_LANGUAGE###, ###DOWNLOAD_LICENSE### and ###DOWNLOAD_HOMEPAGE### markers to the ###VIEW_CATEGORY###, ###VIEW_TREE###, ###VIEW_SEARCH###, ###VIEW_TOP###, ###VIEW_CATALOG### and ###VIEW_DETAILS_FOR_DOWNLOAD### template subparts.
*** Please update your templates! ***
Removed supernumerous <br/> tags from the description's stdWraps in the static TypoScript setup.
Increased the maximum file size of downloads to 500000 KB.
Increased the maximum input size and removed the range limitation for clicks and votes in the backend's FlexForm.
Added missing target="_blank" to topView.downloadLabel.ATagParams.
Fixed a bug where the "Sort downloads by", "Sort order (downloads)" and "Maximum number of downloads shown per category" FlexForm options weren't taken into account in the SEARCH view.
Fixed a major bug where downloads weren't displayed in the TOP view.
Fixed a bug where file size, extension and icon of a download weren't shown in the detailed download view (accidentally introduced in 1.9.0).
Version 1.9.0 (2007-04-08)
Extended the UPDATE! function in the sense that both the "tx_abdownloads_category_catuid_before_mm" table and the "catuid_before" field from "tx_abdownloads_category" get dropped after a successful update.
Added the possibility to define the default status of proposed downloads in the backend's FlexForm. Therefore added the "Default status of proposed downloads" FlexForm option.
Added the possibility to directly edit download records by clicking on their labels in the backend module.
Added the possibility to use MIME icons for downloads in all views. Therefore added the ###DOWNLOAD_FILEICON### marker to the ###VIEW_CATEGORY###, ###VIEW_TREE###, ###VIEW_SEARCH###, ###VIEW_TOP### and ###VIEW_CATALOG### template subparts.
*** Please update your templates! ***
Improved the "PID of page with LIST/TREE plugin (if different)" FlexForm option.
Improved the "Start category ID" FlexForm option.
Fixed a bug where category icons weren't displayed in the TREE view.
Fixed a bug where links set in the description fields with the RTE weren't displayed in the different views.
Fixed a bug where a single random TOP list wasn't displayed in the frontend.
Fixed a bug where the ###DOWNLOAD_ICON### marker wasn't substituted correctly in the TREE view.
Fixed bug #0000025.
EXT: Modern Downloads - 36