function run() { CRM_Utils_System::setTitle(ts('Creating Donation Receipts', array('domain' => 'de.systopia.donrec'))); // extract the parameters $parameters = array(); $parameters['test'] = empty($_REQUEST['final']) ? 1 : 0; $parameters['bulk'] = empty($_REQUEST['bulk']) ? 0 : 1; $parameters['exporters'] = empty($_REQUEST['exporters']) ? array('Dummy') : explode(',', $_REQUEST['exporters']); //get session-vars $session = CRM_Core_Session::singleton(); if ($parameters['test']) { $url_back = $session->get('url_back_test') . '&exporters=' . $_REQUEST['exporters']; } else { $url_back = $session->get('url_back'); } $this->assign('url_back', $url_back); // get the snapshot_id if (empty($_REQUEST['sid'])) { $this->assign('error', ts("No snapshot ID given. Please call this page from a proper selection.", array('domain' => 'de.systopia.donrec'))); } else { // Init the engine $sid = (int) $_REQUEST['sid']; $engine = new CRM_Donrec_Logic_Engine(); $engine_error = $engine->init($sid, $parameters); if ($engine_error) { $this->assign('error', $engine_error); } else { $this->assign('sid', $sid); if ($parameters['test']) { // if this is a test-run: restart $engine->resetTestRun(); } $this->assign('bulk', $parameters['bulk']); $this->assign('test', $parameters['test']); $this->assign('exporters', implode('', $parameters['exporters'])); } } parent::run(); }