1<?php 2// This file is part of Moodle - http://moodle.org/ 3// 4// Moodle is free software: you can redistribute it and/or modify 5// it under the terms of the GNU General Public License as published by 6// the Free Software Foundation, either version 3 of the License, or 7// (at your option) any later version. 8// 9// Moodle is distributed in the hope that it will be useful, 10// but WITHOUT ANY WARRANTY; without even the implied warranty of 11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12// GNU General Public License for more details. 13// 14// You should have received a copy of the GNU General Public License 15// along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17/** 18 * This file contains all the defined constants to do with portfolios. 19 * 20 * @package core_portfolio 21 * @copyright 2008 Penny Leach <penny@catalyst.net.nz>, Martin Dougiamas 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25defined('MOODLE_INTERNAL') || die(); 26 27//EXPORT STAGE CONSTANTS 28 29 30/** 31 * PORTFOLIO_STAGE_CONFIG - display a form to the user this one might not be 32 * used if neither the plugin, or the caller has any config. 33 */ 34define('PORTFOLIO_STAGE_CONFIG', 1); 35 36/** 37 * PORTFOLIO_STAGE_CONFIRM - summarise the form and ask for confirmation 38 * if we skipped PORTFOLIO_STAGE_CONFIG, 39 * just confirm the send. 40 */ 41define('PORTFOLIO_STAGE_CONFIRM', 2); 42 43/** 44 * PORTFOLIO_STAGE_QUEUEORWAIT - either queue the event and skip to PORTFOLIO_STAGE_FINISHED 45 */ 46define('PORTFOLIO_STAGE_QUEUEORWAIT', 3); 47 48/** 49 * PORTFOLIO_STAGE_PACKAGE - package up the various bits during this stage both the caller 50 * and the plugin get their package methods called 51 */ 52define('PORTFOLIO_STAGE_PACKAGE', 4); 53 54/** 55 * PORTFOLIO_STAGE_SEND - the portfolio plugin must send the file 56 */ 57define('PORTFOLIO_STAGE_SEND', 5); 58 59/** 60 * PORTFOLIO_STAGE_CLEANUP - cleanup the temporary area 61 */ 62define('PORTFOLIO_STAGE_CLEANUP', 6); 63 64/** 65 * PORTFOLIO_STAGE_FINISHED - display the "finished notification" 66 */ 67define('PORTFOLIO_STAGE_FINISHED', 7); 68 69 70 71 72// EXPORT FORMAT CONSTANTS 73// These should always correspond to a string in the portfolio module, called format_{$value} 74 75 76/** 77 * PORTFOLIO_FORMAT_FILE - the most basic fallback format. this should always be supported 78 * in remote system.s 79 */ 80define('PORTFOLIO_FORMAT_FILE', 'file'); 81 82/** 83 * PORTFOLIO_FORMAT_MBKP - the plugin needs to be able to write a complete backup 84 * the caller need to be able to export the particular XML bits to insert 85 * into moodle.xml (?and the file bits if necessary) 86 */ 87define('PORTFOLIO_FORMAT_MBKP', 'mbkp'); 88 89/** 90 * PORTFOLIO_FORMAT_RICHHTML - like html but with attachments. 91 */ 92define('PORTFOLIO_FORMAT_RICHHTML', 'richhtml'); 93 94/** 95 * PORTFOLIO_FORMAT_PLAINHTML - a single html representation - no attachments 96 */ 97define('PORTFOLIO_FORMAT_PLAINHTML', 'plainhtml'); 98 99/** 100 * PORTFOLIO_FORMAT_IMAGE - subtype of file 101 */ 102define('PORTFOLIO_FORMAT_IMAGE', 'image'); 103 104/** 105 * PORTFOLIO_FORMAT_VIDEO - subtype of file 106 */ 107define('PORTFOLIO_FORMAT_VIDEO', 'video'); 108 109/** 110 * PORTFOLIO_FORMAT_TEXT - subtype of file 111 */ 112define('PORTFOLIO_FORMAT_TEXT', 'text'); 113 114/** 115 * PORTFOLIO_FORMAT_PDF - subtype of file 116 */ 117define('PORTFOLIO_FORMAT_PDF', 'pdf'); 118 119/** 120 * PORTFOLIO_FORMAT_DOCUMENT - subtype of file 121 */ 122define('PORTFOLIO_FORMAT_DOCUMENT', 'document'); 123 124/** 125 * PORTFOLIO_FORMAT_SPREADSHEET - subtype of file 126 */ 127define('PORTFOLIO_FORMAT_SPREADSHEET', 'spreadsheet'); 128 129/** 130 * PORTFOLIO_FORMAT_PRESENTATION - subtype of file 131 */ 132define('PORTFOLIO_FORMAT_PRESENTATION', 'presentation'); 133 134/** 135 * PORTFOLIO_FORMAT_RICH - just used to say, "we support all these" 136 */ 137define('PORTFOLIO_FORMAT_RICH', 'rich'); 138 139/** 140 * PORTFOLIO_FORMAT_LEAP2A - supported by mahara and and others {http://wiki.cetis.ac.uk/LEAP_2.0} 141 */ 142define('PORTFOLIO_FORMAT_LEAP2A', 'leap2a'); 143 144// EXPORT TIME LEVELS 145// These should correspond to a string in the portfolio module, called time_{$value} 146 147/** 148 * PORTFOLIO_TIME_LOW - no delay. don't even offer the user the option 149 * of not waiting for the transfer 150 */ 151define('PORTFOLIO_TIME_LOW', 'low'); 152 153/** 154 * PORTFOLIO_TIME_MODERATE - a small delay. user can still easily opt to 155 * watch this transfer and wait. 156 */ 157define('PORTFOLIO_TIME_MODERATE', 'moderate'); 158 159/** 160 * PORTFOLIO_TIME_HIGH - slow. the user really should not be given the option 161 * to choose this. 162 */ 163define('PORTFOLIO_TIME_HIGH', 'high'); 164 165/** 166 * PORTFOLIO_TIME_FORCEQUEUE - very slow, or immediate transfers not supported 167 */ 168define('PORTFOLIO_TIME_FORCEQUEUE', 'queue'); 169 170 // BUTTON FORMATS 171 // Available ways to add the portfolio export to a page 172 173/** 174 * PORTFOLIO_ADD_FULL_FORM - a whole form, containing a drop down menu (where necessary) 175 * and a submit button 176 */ 177define('PORTFOLIO_ADD_FULL_FORM', 1); 178 179 180/** 181 * PORTFOLIO_ADD_ICON_FORM - a whole form, containing a drop down menu (where necessary) 182 * but has an icon instead of a button to submit 183 */ 184define('PORTFOLIO_ADD_ICON_FORM', 2); 185 186/** 187 * PORTFOLIO_ADD_ICON_LINK - just an icon with a link around it (yuk, as will result in a long url 188 * only use where necessary) 189 */ 190define('PORTFOLIO_ADD_ICON_LINK', 3); 191 192/** 193 * PORTFOLIO_ADD_TEXT_LINK - just some text with a link around it (yuk, as will result in a long url 194 * only use where necessary) 195 */ 196define('PORTFOLIO_ADD_TEXT_LINK', 4); 197 198/** 199 * PORTFOLIO_ADD_FAKE_URL - hacky way to turn the button class into a url to redirect to 200 * this replaces the old portfolio_fake_add_url function 201 */ 202define('PORTFOLIO_ADD_FAKE_URL', 5); 203 204/** 205 * PORTFOLIO_ADD_MOODULE_URL - hacky way to turn the button class into a moodle_url to redirect to 206 * this replaces the old portfolio_fake_add_url function 207 */ 208define('PORTFOLIO_ADD_MOODLE_URL', 6); 209