Search moodle.org's
Developer Documentation


  • Bug fixes for general core bugs in 2.8.x ended 9 November 2015 (12 months).
  • Bug fixes for security issues in 2.8.x ended 9 May 2016 (18 months).
  • minimum PHP 5.4.4 (always use latest PHP 5.4.x or 5.5.x on Windows - http://windows.php.net/download/), PHP 7 is NOT supported
  • Differences Between: [Versions 28 and 31] [Versions 28 and 32] [Versions 28 and 33] [Versions 28 and 34] [Versions 28 and 35] [Versions 28 and 36] [Versions 28 and 37]

    Library to handle drag and drop course uploads

    Copyright: 2012 Davo smith
    License: http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
    File Size: 688 lines (27 kb)
    Included or required:0 times
    Referenced: 1 time
    Includes or requires: 0 files

    Defines 2 classes

    Defines 10 functions


    Class: dndupload_handler  - X-Ref

    Stores all the information about the available dndupload handlers

    __construct($course, $modnames = null)   X-Ref
    Gather a list of dndupload handlers from the different mods

    param: object $course The course this is being added to (to check course_allowed_module() )

    register_type($identifier, $datatransfertypes, $addmessage, $namemessage, $handlermessage, $priority=100)   X-Ref
    Used to add a new mime type that can be drag and dropped onto a
    course displayed in a browser window

    param: string $identifier The name that this type will be known as
    param: array $datatransfertypes An array of the different types in the browser
    param: string $addmessage The message to display in the browser when this type is being
    param: string $namemessage The message to pop up when asking for the name to give the
    param: string $handlermessage The message to pop up when asking which module should handle this type
    param: int $priority Controls the order in which types are checked by the browser (mainly

    register_type_handler($type, $module, $message, $noname)   X-Ref
    Used to declare that a particular module will handle a particular type
    of dropped data

    param: string $type The name of the type (as declared in register_type)
    param: string $module The name of the module to handle this type
    param: string $message The message to show the user if more than one handler is registered
    param: bool $noname If true, the 'name' dialog should be disabled in the pop-up.

    register_file_handler($extension, $module, $message)   X-Ref
    Used to declare that a particular module will handle a particular type
    of dropped file

    param: string $extension The file extension to handle ('*' for all types)
    param: string $module The name of the module to handle this type
    param: string $message The message to show the user if more than one handler is registered

    is_known_type($type)   X-Ref
    Check to see if the type has been registered

    return: bool True if the type is registered
    param: string $type The identifier of the type you are interested in

    has_type_handler($module, $type)   X-Ref
    Check to see if the module in question has registered to handle the
    type given

    return: bool True if the module has registered to handle that type
    param: string $module The name of the module
    param: string $type The identifier of the type

    has_file_handler($module, $extension)   X-Ref
    Check to see if the module in question has registered to handle files
    with the given extension (or to handle all file types)

    return: bool True if the module has registered to handle files with
    param: string $module The name of the module
    param: string $extension The extension of the uploaded file

    get_handled_file_types($module)   X-Ref
    Gets a list of the file types that are handled by a particular module

    return: array of file extensions or string '*'
    param: string $module The name of the module to check

    get_js_data()   X-Ref
    Returns an object to pass onto the javascript code with data about all the
    registered file / type handlers

    return: object Data to pass on to Javascript code

    type_compare($type1, $type2)   X-Ref
    Comparison function used when sorting types by priority

    return: integer -1 for $type1 < $type2; 1 for $type1 > $type2; 0 for equal
    param: object $type1 first type to compare
    param: object $type2 second type to compare

    Class: dndupload_ajax_processor  - X-Ref

    Processes the upload, creating the course module and returning the result

    __construct($courseid, $section, $type, $modulename)   X-Ref
    Set up some basic information needed to handle the upload

    param: int $courseid The ID of the course we are uploading to
    param: int $section The section number we are uploading to
    param: string $type The type of upload (as reported by the browser)
    param: string $modulename The name of the module requested to handle this upload

    is_file_upload()   X-Ref
    Check if this upload is a 'file' upload

    return: bool true if it is a 'file' upload, false otherwise

    process($displayname = null, $content = null)   X-Ref
    Process the upload - creating the module in the course and returning the result to the browser

    param: string $displayname optional the name (from the browser) to give the course module instance
    param: string $content optional the content of the upload (for non-file uploads)

    handle_file_upload()   X-Ref
    Handle uploads containing files - create the course module, ask the upload repository
    to process the file, ask the mod to set itself up, then return the result to the browser


    handle_other_upload($content)   X-Ref
    Handle uploads not containing file - create the course module, ask the mod to
    set itself up, then return the result to the browser

    param: string $content the content uploaded to the browser

    display_name_from_file($filename)   X-Ref
    Generate the name of the mod instance from the name of the file
    (remove the extension and convert underscore => space

    return: string the display name to use
    param: string $filename the filename of the uploaded file

    create_course_module()   X-Ref
    Create the coursemodule to hold the file/content that has been uploaded


    prepare_module_data($draftitemid = null, $content = null)   X-Ref
    Gather together all the details to pass on to the mod, so that it can initialise it's
    own database tables

    return: object data to pass on to the mod, containing:
    param: int $draftitemid optional the id of the draft area containing the file (for file uploads)
    param: string $content optional the content dropped onto the course (for non-file uploads)

    finish_setup_course_module($instanceid)   X-Ref
    Called after the mod has set itself up, to finish off any course module settings
    (set instance id, add to correct section, set visibility, etc.) and send the response

    param: int $instanceid id returned by the mod when it was created

    send_response($mod)   X-Ref
    Send the details of the newly created activity back to the client browser

    param: cm_info $mod details of the mod just created

    Functions that are not part of a class:

    dndupload_add_to_course($course, $modnames)   X-Ref
    Add the Javascript to enable drag and drop upload to a course page

    return: void
    param: object $course The currently displayed course
    param: array $modnames The list of enabled (visible) modules on this site

    Search This Site: