. * * @package moodle * @subpackage portfolio * @author Penny Leach * @license http://www.gnu.org/copyleft/gpl.html GNU GPL * @copyright (C) 1999 onwards Martin Dougiamas http://dougiamas.com * * This file contains all the portfolio exception classes. */ /** * top level portfolio exception. * sometimes caught and rethrown as {@see portfolio_export_exception} */ class portfolio_exception extends moodle_exception {} /** * exception to throw during an export - will clean up session and tempdata */ class portfolio_export_exception extends portfolio_exception { /** * constructor. * @param object $exporter instance of portfolio_exporter (will handle null case) * @param string $errorcode language string key * @param string $module language string module (optional, defaults to moodle) * @param string $continue url to continue to (optional, defaults to wwwroot) * @param mixed $a language string data (optional, defaults to null) */ public function __construct($exporter, $errorcode, $module=null, $continue=null, $a=null) { if (!empty($exporter) && $exporter instanceof portfolio_exporter) { if (empty($continue)) { $caller = $exporter->get('caller'); if (!empty($caller) && $caller instanceof portfolio_caller_base) { $continue = $exporter->get('caller')->get_return_url(); } } if (!defined('FULLME') || FULLME != 'cron') { $exporter->process_stage_cleanup(); } } else { global $SESSION; if (!empty($SESSION->portfolioexport)) { debugging(get_string('exportexceptionnoexporter', 'portfolio')); } } parent::__construct($errorcode, $module, $continue, $a); } } /** * exception for callers to throw when they have a problem. * usually caught and rethrown as {@see portfolio_export_exception} */ class portfolio_caller_exception extends portfolio_exception {} /** * exception for portfolio plugins to throw when they have a problem. * usually caught and rethrown as {@see portfolio_export_exception} */ class portfolio_plugin_exception extends portfolio_exception {} /** * exception for interacting with the button class */ class portfolio_button_exception extends portfolio_exception {} ?>