This library includes all the necessary stuff to use the one-click download and install feature of Moodle, used to keep updated some items like languages, pear, enviroment... i.e, components. It has been developed harcoding some important limits that are explained below: - It only can check, download and install items under moodledata. - Every downloadeable item must be one zip file. - The zip file root content must be 1 directory, i.e, everything is stored under 1 directory. - Zip file name and root directory must have the same name (but the .zip extension, of course). - Every .zip file must be defined in one .md5 file that will be stored in the same remote directory than the .zip file. - The name of such .md5 file is free, although it's recommended to use the same name than the .zip (that's the default assumption if no specified). - Every remote .md5 file will be a comma separated (CVS) file where each line will follow this format: - Field 1: name of the zip file (without extension). Mandatory. - Field 2: md5 of the zip file. Mandatory. - Field 3: whatever you want (or need). Optional. -Every local .md5 file will: - Have the zip file name (without the extension) plus -md5 - Will reside inside the expanded zip file dir - Will contain the md5 od the latest installed component With all these details present, the process will perform this tasks: - Perform security checks. Only admins are allowed to use this for now. - Read the .md5 file from source (1). - Extract the correct line for the .zip being requested. - Compare it with the local .md5 file (2). - If different: - Download the newer .zip file from source. - Calculate its md5 (3). - Compare (1) and (3). - If equal: - Delete old directory. - Uunzip the newer .zip file. - Create the new local .md5 file. - Delete the .zip file. - If different: - ERROR. Old package won't be modified. We shouldn't reach here ever. - If component download is not possible, a message text about how to do the process manually (remotedownloaderror) must be displayed to explain it.

Used to be used for tracking conditions that apply before activities are displayed to students ('conditional availability'). Now replaced by the availability API. This library is a stub; some functions still work while others throw exceptions. New code should not rely on the classes, functions, or constants defined here.

Minimalistic library, usable even when no other moodle libs are loaded. The only library that gets loaded if you define ABORT_AFTER_CONFIG before including main config.php. You can resume normal script operation if you define ABORT_AFTER_CONFIG_CANCEL and require the setup.php

This library includes all the required functions used to handle the DB structure (DDL) independently of the underlying RDBMS in use. This library includes all the required functions used to handle the DB structure (DDL) independently of the underlying RDBMS in use. All the functions rely on the XMLDBDriver classes to be able to generate the correct SQL syntax needed by each DB.

This library contains all the Data Manipulation Language (DML) functions used to interact with the DB This library contains all the Data Manipulation Language (DML) functions used to interact with the DB. All the dunctions in this library must be generic and work against the major number of RDBMS possible. This is the list of currently supported and tested DBs: mysql, postresql, mssql, oracle

This library includes all the necessary stuff to execute some standard tests of required versions and libraries to run Moodle. It can be used from the admin interface, and both at install and upgrade. All the info is stored in the admin/environment.xml file, supporting to have an updated version in dataroot/environment

phpFlickr Class 2.2.0 Written by Dan Coulter (dan@dancoulter.com) Sourceforge Project Page: {@link http://www.sourceforge.net/projects/phpflickr/} Released under GNU Lesser General Public License ({@link http://www.gnu.org/copyleft/lgpl.html}) For more information about the class and upcoming tools and toys using it, visit {@link http://www.phpflickr.com/} or {@link http://phpflickr.sourceforge.net} For installation instructions, open the README.txt file packaged with this class. If you don't have a copy, you can see it at: {@link http://www.phpflickr.com/README.txt}

formslib.php - library of classes for creating forms in Moodle, based on PEAR QuickForms. To use formslib then you will want to create a new file purpose_form.php eg. edit_form.php and you want to name your class something like {modulename}_{purpose}_form. Your class will extend moodleform overriding abstract classes definition and optionally defintion_after_data and validation.

Graph Class. PHP Class to draw line, point, bar, and area graphs, including numeric x-axis and double y-axis. Version: 1.6.3 Copyright (C) 2000 Herman Veluwenkamp This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

PHP lexer code snarfed from the CVS tree for the lamplib project at http://sourceforge.net/projects/lamplib This project is administered by Markus Baker, Harry Fuecks and Matt Mitchell, and the project code is in the public domain. Thanks, guys!

This file contains the moodle_page class. There is normally a single instance of this class in the $PAGE global variable. This class is a central repository of information about the page we are building up to send back to the user.

Code for handling and processing questions This is code that is module independent, i.e., can be used by any module that uses questions, like quiz, lesson, .. This script also loads the questiontype classes Code for handling the editing of questions is in {@link question/editlib.php}

About validateUrlSyntax(): This function will verify if a http URL is formatted properly, returning either with true or false. I used rfc #2396 URI: Generic Syntax as my guide when creating the regular expression. For all the details see the comments below.

xmlize.php - xmlize() is by Hans Anderson, {@link http://www.hansanderson.com/contact/} Ye Ole "Feel Free To Use it However" License [PHP, BSD, GPL]. some code in xml_depth is based on code written by other PHPers as well as one Perl script. Poor programming practice and organization on my part is to blame for the credit these people aren't receiving. None of the code was copyrighted, though.