934 Modules match your search

Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.

Date single day

Date single day screenshot

This module alters CCK date popup fields so they only show a time for the 'To' field. Use this if you know your dates always start and end on the same day and you want to save your users entering in a date value twice.

Drupal 7

The Drupal 7 version is a complete rewrite. An additional field option "End after midnight" is available. When it is enabled, the end date is set to start date + 1 day, if end time is less than start time.

Imagecache Proportions

This module provides a CCK formatter for imagefields that allows the user to select between three different imagecache presets depending on the proportions of the original image. So you can use this module for altering the display proportions of a image field or similar in the display field screen, in Views, etc.
If the image is more or less squared (you can set a looseness in pixels) you will be able to select a squared preset, if the image is wider than higher, you can select a more "horizontal" preset and if it's higher than wider, a more "vertical" one.
It's integrated out of the box with thickbox, colorbox, shadowbox and lightbox2 for displaying full links.

Drupal 6.x



  • Create presets for the wider image, the higher and the squared one.
  • Edit the field settings for your image field, select which imagecache preset you would like to use for each proportion and the looseness for the squard ones.

Drupal 7.x


    Node reference views

    Node Reference Views example

    This module is now deprecated. Development continues at Reference views, which is essentially the 2.x branch but with a new name.

    This module provides a new display formatter for CCK node reference fields. The formatter allows a view to be used as the display style for CCK node reference fields. This means that instead of just a title, teaser, or full node, you can show nodes using any fields that are available to Views, in any sort order, in any view style, with any views theming.

    The view should have the same name as the field, including the automatic 'field_' prefix, eg 'field_my_noderef'. The first view argument must be a node id, set to allow multiple ids: this has passed to it all the nids from the CCK nodereference field. No other arguments are passed to the view. The view's default display is shown.

    To get started, you can clone the example view that comes with this module: it comes with the argument already set. You can add any fields and sorts and filters. One limitation however is that the order of items set in the CCK field isn't accessible to Views.

    This module does nothing to node edit forms.

    Other modules


    This module provides an extension to the builtin checkboxes element that allows developers add "check all" / "toggle" / "uncheck all" actions to them. This is specially useful for checkboxes that have a lot of elements.

    Please note that Drupal 6 already has this feature available, but only for checkboxes rendered in tables, such as those used in Administration -> Content management -> Content. Checkboxes rendered elsewhere do not have this feature.

    You may need to install this module when required/recommended by another contributed module, and/or you may wish to use it to enhance your own custom modules.

    • For Site Administrators - New option for checkboxes implemented by CCK Widgets

      If you use checkboxes implemented by CCK optionwidgets, node reference, user reference or content taxonomy options, then a new option in the field settings form is available to enable the Checkall feature for those widgets.

    • For Developers - Simple Usage

      To attach the checkall behavior to checkboxes elements, all you need to do is add the '#checkall' property to them. You can do so for your own forms, or you can implement hook_alter_form() to add this property to existing forms. Example:

      $form['foobar'] = array(
        '#type' => 'checkboxes',
        '#options' => $options,
        '#default_value' => $default_value,
        '#checkall' => TRUE,  // <--- this is it ;-)

    Field Indexer

    The Field Indexer module indexes field data into Drupal's search index. Each field enabled for indexing becomes a type of index entry. Then, with an appropriate search module, users may perform keyword searches restricted by field.

    Node Field

    Node Field module allows you to add custom extra fields to single drupal nodes.
    It's not connected to fields module, so different nodes of one content type can have absolutely different sets of custom fields.

    Link Image Formatter

    Defines a field formatter to display a link to an image as an HTML image element.

    The Imagecache External module (D6 only; http://drupal.org/project/imagecache_external) is recommended to allow for custom dynamic external image manipulation and cache.

    CCK Redirection

    This module provides a CCK field for redirecting a user to a new URI. The creator of a node specifies a valid URI in the CCK field, and when a user visits that node, he will be redirected to the destination specified in that field.

    Sponsored by and co-maintained with Prometheus Labor.

    Drupal 6:
    In Drupal 6, you can also choose to redirect instantly, with a delay (using javascript), or put the target URI page in a frameset (like Google Images).

    Field injector


    Provides a display settings for fields to inject themselves into text fields at specific locations. For example, you can have an image field inject itself below the first paragraph of the body field.


    Field formatter settings

    Development was sponsored by Palantir.net.

    Text or Nodereference

    Allows textfield to be rendered like a node reference, with some autocompletion magic on edits.

    A university department wants to list the authors on their publications' page. Any given publication may have several authors, both from the department and outsiders, with their order being important (ie. it is quite likely to have an 'employee-outsider-employee-outsider' like order.) If an author is an employee of the department, his/her name should be displayed as a link to his/her own profile page, while outsiders' name should be displayed as clear text. There are several use cases with high probability here:

    1. It is quite likely to have an author order like 'employee-outsider-employee-outsider'.
    2. It is quite likely that a now-outsider author becomes an employee later on, in which case his/her name should automatically converted to a link to his/her profile without any changes to the publication.
    3. It is quite likely that the site editor wants to enter existing authors' names without typos, regardless of that they are employees or not.

    So what does this module do then, anyway?

    Let's switch to Drupal tongue. :) Want to have a nodereference-like link to a node that does not exist yet? Want to have autocompletion both on existing field values and on existing node titles of other content types? Install and enable this text_noderef.module, and all your problems fly away!

    Fieldset helper

    Saves the collapsed state of a Drupal collapsible fieldset.

    The fieldset_helper module also improves the usability of the main module page (admin/build/modules) by adding expand and collapse all fieldsets links to top of the page.

    UC Node Checkout

    Ubercart compatible module.

    This module allows you to bind a node type to an Ubercart product, as typically required in event registration sites and alike.

    Binding a node type to a product has two effects:

    • When a user creates a node of that type, the specified product is added to the shopping cart with a node reference to the newly created node.
    • When a user buys a product with a bound node, an extra step is inserted into the checkout process requiring creation of a node of the bound type.

    Pager for Content type

    For every node of selected content type module add "previous" and "next"
    buttons to previous or next node.
    Module provide custom pager for content type.
    Pager will apply to end of node render array.

    There is possibility to use pager for navigating between nodes of same author.

    There is a possibility to show titles of the closest nodes before and after a current node (quantity of nodes shown can be adjusted).
    let us suppose there are 5 nodes: node 1, node 2, node 3, node4, node 5;
    a) current node is 3:
    below the pager there will be following links:
    node 1, node 2, node 4, node 5

    b) current node is 2:
    below the pager there will be following links:
    node 1, node 3, node 4, node 5

    c) current node is 5:
    below the pager there will be following links:
    node 1, node 2, node 3, node 4

    There is hook which makes it possible to control sampling of previous and next node.
    As well as a hook to control sampling of nodes closest to the current one.


    Drupal 7.x


    1. Copy the entire pager_for_content_type directory
    the Drupal sites/all/modules directory.

    2. Login as an administrator. Enable the module
    in the "Administer" -> "Modules"

    3. (Optional) Edit the settings under

    Nodereference Explorer


    The Nodereference Explorer (NRE) is a selection dialog for creating references between nodes. Editors can link arbitrary content type instances, e. g. pages, stories, news, images etc., with each other. Typical use-cases are for instance:

    Block Upload

    What is it?

    Block upload - it's a simple module, which allow users to upload images/files into field without node edit page. You can add this block on node pages. Choose field you want to upload files and set permission. So, for example, users can add new photos into node without full node edit rights. You also can quickly add new files into node, avoid edit form.


    Install module and go to Blocks management page, than find Block upload. On edit page choose file/image field you wish to use and save settings. Choose block position and here it is. Additionally set user permissions to allow uploads.

    7.x-1.1 New features

    Integration with Plupload integration module what makes available to use multiupload and drag&drop features.
    To enable it, install Plupload integration according to it requirements. Than go to block upload config and tip use plupload option. This will switch single form to plupload widget.

    Content Complete

    Content Complete Block

    Content Complete is a CCK extension module that allows to tag CCK fields needed for completion (CCK Complete). The module checks the tagged fields against the content provided for those content types, and computes a complete percentage that can be shown to the user.

    The complete percentage can be shown to the user in the form of a block, or using the views integration available since version 1.2.


    • Introduction
    • Configuring Views show you how to make a list view of completion data and combine completion data of different nodes.
    • Configuring Rules shows you how set up complex workflows. Example: set up email reminders sent automatically to authors of incomplete nodes (< 100%).


    • Rules integration. Provides a condition for completion >= x%.
    • Views integration is available from version 1.2

    Related Modules

      DB Tuner

      Configuration Page

      Wondering why your views run so slow? Why after switching to InnoDB, MySQL isn't running any better? This module has the answers!


      It will show what CCK columns get used in a view filter or relationship and give you the option to add an index on it so the views query will run faster. Also can add indexes to core modules that could use one.


      Ability to convert your database from MyISAM to InnoDB in order to eliminate table locks on data writes.


      Are half your tables latin1_swedish_ci and the other half utf8_general_ci? Use this to change them all to utf8_general_ci.

      MySQL Tuner

      Have you never edited your my.conf file? This will give you hints at what values to tweak in order to get MySQL running better. Special thanks to MySQL Tuner, since this part of the module is a port of that project.

      Future Plans:

      Similar Projects

      MySQL Report
      Shadow - SQL queries / views optimization
      Materialized View API

      Media: Ustream

      Drupal 7:

      Media: UStream integrates with the Media module to make UStream videos and channels available as file entities.

      The 7.x-1.x branch works with Media 1.x and Media 2.x.

      We still have a couple (minor) issues to fix, want to help? See the readme and check the issue queue.

      Drupal 6:

      Password Confirm

      This module provides a field type for Password Confirm.


      * Fields similar to the password field used in user registration form.
      * Javascript based on line validation.
      * Save Password settings for

      • Drupal based encryption for password value
      • Plain text password value.

      * Show Password on node form

      • Plain Text
      • Dotted Value


      1. Place the entire password_confirm directory into your Drupal sites/all/modules/ directory.

      2. Enable the Password Confirm module by navigating to:
      administer > modules

      To enable encryption of password, see settings.
      Once you choose to encrypt password you should not use show password, else it will show the hash value of password.
      Their is another module called Password Field, But this module is different from that one in several ways:

      1. By adding one field, set of field for password and confirm password gets added to the form
      2. In line validation of password strength and password match is done.
      3. Password can be save in either encrypted form or as plain text, depending upon requirement.

      Field Defaults

      Field Defaults allows batch updating of default field values to existing content. When adding a new field to an entity you can update all existing content with the default value or when editing an existing field you can choose to also update all existing content with the new value.

      All existing content is overwritten with the new value.


      The LightGallery module integrates the jQuery lightgallery plugin with drupal. jQuery lightgallery is a customizable, modular, responsive, lightbox gallery plugin for jQuery.

      • Integrates with the views module.
      • Provides a field formatter for image fields

      For now only lightgallery version 1.2.x is supported

      Repeating Date Presets


      This module can greatly simplify user entry of repeating dates by allowing the administrator to pre-set repeat date rules.

      The module supports two types of preset:

      1. Select a preset repeat from a list. (E.g. every year, every month, every week). Up to 5 configurable preset repeat rules are allowed as well as the options to not repeat or, if configured, to specify a custom repeat rule via the standard form. This is similar to the way Apple iCal does it.
      2. A single configurable preset rule which is either applied automatically for a specialised date field (e.g. your birthday, anniversary etc) or via a checkbox for a more general "is this an annual event" type field.

      Field formatter label

      This module allows site administrators to override the Field Label on any field in the Manage Display settings page. This allows each field to have a different title in different view modes.


      The field formatter label settings are found in the Manage display tab for content types, users, and other entities. A text box is available for each field's label, revealed by using the formatter settings edit button (Gear wheel icon) for that field. If no 'Label override' is specified then the default will be used.

      Imagefield Import


      Imagefield Import allows users with the proper permissions to import a large number of images into a CCK content type which contains a filefield or an imagefield.

      The module can grab titles and descriptions using EXIF or IPTC.

      It is possible to set taxonomy term associations and CCK field values during the import.

      In spite of the name, this module also supports normal file fields. You can use this to create a bunch of nodes with attached files.


      This module provides a field to integrate with Skype buttons and Skype URI's. The module contains 2 formatters, both configurable.


      • Add a field of type "Skype" on your content type
      • Go to "manage display" of your content type and choose to display a Skype button or a Skype URI
      • Add a node and fill out a Skype ID in the field you just created
      • Navigate to the node view and admire your Skype button/URI