Пример #1
0
 /**
  * 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)
 {
     global $CFG;
     // This static variable is necessary because sometimes the code below
     // which tries to obtain a continue link can cause one of these
     // exceptions to be thrown. This would create an infinite loop (until
     // PHP hits its stack limit). Using this static lets us make the
     // nested constructor finish immediately without attempting to call
     // methods that might fail.
     static $inconstructor = false;
     if (!$inconstructor && !empty($exporter) && $exporter instanceof portfolio_exporter) {
         $inconstructor = true;
         try {
             if (empty($continue)) {
                 $caller = $exporter->get('caller');
                 if (!empty($caller) && $caller instanceof portfolio_caller_base) {
                     $continue = $exporter->get('caller')->get_return_url();
                 }
             }
             // this was previously only called if we were in cron,
             // but I think if there's always an exception, we should clean up
             // rather than force the user to resolve the export later.
             $exporter->process_stage_cleanup();
         } catch (Exception $e) {
             // Ooops, we had an exception trying to get caller
             // information. Ignore it.
         }
         $inconstructor = false;
     }
     parent::__construct($errorcode, $module, $continue, $a);
 }
Пример #2
0
 /**
  * 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)
 {
     global $CFG;
     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();
             }
         }
         // this was previously only called if we were in cron,
         // but I think if there's always an exception, we should clean up
         // rather than force the user to resolve the export later.
         $exporter->process_stage_cleanup();
     } else {
         global $SESSION;
         if (!empty($SESSION->portfolioexport)) {
             debugging(get_string('exportexceptionnoexporter', 'portfolio'));
         }
     }
     parent::__construct($errorcode, $module, $continue, $a);
 }