24include_once(
"./Services/Certificate/classes/class.ilCertificate.php");
102 include_once
"./Services/Certificate/classes/class.ilCertificate.php";
105 $this->lng =
$DIC[
'lng'];
106 $this->tpl =
$DIC[
'tpl'];
107 $this->ctrl =
$DIC[
'ilCtrl'];
108 $this->
ilias = $DIC[
'ilias'];
109 $this->tree =
$DIC[
'tree'];
110 $this->tree =
$DIC[
'tree'];
111 $this->acccess =
$DIC[
'ilAccess'];
112 $this->toolbar =
$DIC[
'ilToolbar'];
114 $this->ref_id = (int)
$_GET[
'ref_id'];
116 $this->lng->loadLanguageModule(
'certificate');
124 $cmd = $this->ctrl->getCmd();
125 $next_class = $this->ctrl->getNextClass($this);
128 switch ($next_class) {
130 $ret = $this->$cmd();
157 $this->
object->createPreview();
165 $this->
object->deliverExportFileXML();
173 $this->
object->deleteBackgroundImage();
183 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
185 $cgui->setFormAction($this->ctrl->getFormAction($this,
"certificateEditor"));
186 $cgui->setHeaderText($this->lng->txt(
"certificate_confirm_deletion_text"));
187 $cgui->setCancel($this->lng->txt(
"no"),
"certificateEditor");
188 $cgui->setConfirm($this->lng->txt(
"yes"),
"certificateDeleteConfirm");
190 $this->tpl->setContent($cgui->getHTML());
198 $this->
object->deleteCertificate();
199 $this->ctrl->redirect($this,
"certificateEditor");
223 $form_fields = array(
234 $this->
object->getAdapter()->addFormFieldsFromPOST($form_fields);
243 $form_fields = $this->
object->getFormFieldsFromFO();
244 $form_fields[
"active"] = $this->
object->readActive();
245 $this->
object->getAdapter()->addFormFieldsFromObject($form_fields);
254 if (strcmp($this->ctrl->getCmd(),
"certificateSave") == 0) {
259 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
261 $form->setPreventDoubleSubmission(
false);
262 $form->setFormAction($this->ctrl->getFormAction($this));
263 $form->setTitle($this->lng->txt(
"certificate_edit"));
264 $form->setMultipart(
true);
265 $form->setTableWidth(
"100%");
266 $form->setId(
"certificate");
269 $active->setChecked($form_fields[
"active"]);
270 $form->addItem($active);
272 $import =
new ilFileInputGUI($this->lng->txt(
"import"),
"certificate_import");
273 $import->setRequired(
false);
274 $import->setSuffixes(array(
"zip"));
276 if (strlen($_FILES[
"certificate_import"][
"name"])) {
277 if ($import->checkInput()) {
278 $result = $this->
object->importCertificate($_FILES[
"certificate_import"][
"tmp_name"], $_FILES[
"certificate_import"][
"name"]);
280 $import->setAlert($this->lng->txt(
"certificate_error_import"));
282 $this->ctrl->redirect($this,
"certificateEditor");
286 $form->addItem($import);
288 $pageformat =
new ilRadioGroupInputGUI($this->lng->txt(
"certificate_page_format"),
"pageformat");
289 $pageformats = $this->
object->getPageFormats();
290 $pageformat->setValue($form_fields[
"pageformat"]);
291 foreach ($pageformats as
$format) {
293 if (strcmp(
$format[
"value"],
"custom") == 0) {
294 $pageheight =
new ilTextInputGUI($this->lng->txt(
"certificate_pageheight"),
"pageheight");
295 $pageheight->setValue($form_fields[
"pageheight"]);
296 $pageheight->setSize(6);
297 $pageheight->setValidationRegexp(
'/^(([1-9]+|([1-9]+[0]*[\.,]{0,1}[\d]+))|(0[\.,](0*[1-9]+[\d]*)))(cm|mm|in|pt|pc|px|em)$/is');
298 $pageheight->setInfo($this->lng->txt(
"certificate_unit_description"));
299 $pageheight->setRequired(
true);
300 $option->addSubitem($pageheight);
302 $pagewidth =
new ilTextInputGUI($this->lng->txt(
"certificate_pagewidth"),
"pagewidth");
303 $pagewidth->setValue($form_fields[
"pagewidth"]);
304 $pagewidth->setSize(6);
305 $pagewidth->setValidationRegexp(
'/^(([1-9]+|([1-9]+[0]*[\.,]{0,1}[\d]+))|(0[\.,](0*[1-9]+[\d]*)))(cm|mm|in|pt|pc|px|em)$/is');
306 $pagewidth->setInfo($this->lng->txt(
"certificate_unit_description"));
307 $pagewidth->setRequired(
true);
308 $option->addSubitem($pagewidth);
310 $pageformat->addOption($option);
312 $pageformat->setRequired(
true);
313 if (strcmp($this->ctrl->getCmd(),
"certificateSave") == 0) {
314 $pageformat->checkInput();
317 $form->addItem($pageformat);
319 $bgimage =
new ilImageFileInputGUI($this->lng->txt(
"certificate_background_image"),
"background");
320 $bgimage->setRequired(
false);
321 $bgimage->setUseCache(
false);
324 if (strlen($_FILES[
"background"][
"tmp_name"])) {
325 if ($bgimage->checkInput()) {
326 $result = $this->
object->uploadBackgroundImage($_FILES[
"background"][
"tmp_name"]);
328 $bgimage->setAlert($this->lng->txt(
"certificate_error_upload_bgimage"));
333 if (!$this->object->hasBackgroundImage()) {
334 include_once
"./Services/Certificate/classes/class.ilObjCertificateSettingsAccess.php";
336 require_once(
'./Services/WebAccessChecker/classes/class.ilWACSignedPath.php');
341 require_once(
'./Services/WebAccessChecker/classes/class.ilWACSignedPath.php');
345 $form->addItem($bgimage);
347 $rect =
new ilCSSRectInputGUI($this->lng->txt(
"certificate_margin_body"),
"margin_body");
348 $rect->setRequired(
true);
349 $rect->setUseUnits(
true);
350 $rect->setTop($form_fields[
"margin_body_top"]);
351 $rect->setBottom($form_fields[
"margin_body_bottom"]);
352 $rect->setLeft($form_fields[
"margin_body_left"]);
353 $rect->setRight($form_fields[
"margin_body_right"]);
354 $rect->setInfo($this->lng->txt(
"certificate_unit_description"));
355 if (strcmp($this->ctrl->getCmd(),
"certificateSave") == 0) {
358 $form->addItem($rect);
362 $certificate->setValue($form_fields[
"certificate_text"]);
368 $common_desc_tpl =
new ilTemplate(
"tpl.common_desc.html",
true,
true,
"Services/Certificate");
370 $common_desc_tpl->setCurrentBlock(
"cert_field");
371 $common_desc_tpl->setVariable(
"PH", $f[
"ph"]);
372 $common_desc_tpl->setVariable(
"PH_TXT", $f[
"name"]);
373 $common_desc_tpl->parseCurrentBlock();
375 $common_desc = $common_desc_tpl->get();
378 $certificate->setInfo($this->object->getAdapter()->getCertificateVariablesDescription() . $common_desc);
393 if (strcmp($this->ctrl->getCmd(),
"certificateSave") == 0) {
398 $this->
object->getAdapter()->addAdditionalFormElements(
$form, $form_fields);
400 if ($this->acccess->checkAccess(
"write",
"",
$_GET[
"ref_id"])) {
401 if ($this->object->isComplete() || $this->object->hasBackgroundImage()) {
402 $this->toolbar->setFormAction($this->ctrl->getFormAction($this));
404 require_once
'Services/UIComponent/Button/classes/class.ilSubmitButton.php';
406 $preview->setCaption(
'certificate_preview');
407 $preview->setCommand(
'certificatePreview');
408 $this->toolbar->addStickyItem(
$preview);
411 $export->setCaption(
'certificate_export');
412 $export->setCommand(
'certificateExportFO');
413 $this->toolbar->addButtonInstance($export);
416 $delete->setCaption(
'delete');
417 $delete->setCommand(
'certificateDelete');
418 $this->toolbar->addButtonInstance($delete);
420 $form->addCommandButton(
"certificateSave", $this->lng->txt(
"save"));
423 $this->tpl->setVariable(
"ADM_CONTENT",
$form->getHTML());
425 if (strcmp($this->ctrl->getCmd(),
"certificateSave") == 0) {
426 if (
$_POST[
"background_delete"]) {
427 $this->
object->deleteBackgroundImage();
429 if (
$form->checkInput()) {
431 $xslfo = $this->
object->processXHTML2FO($form_fields);
432 $this->
object->getAdapter()->saveFormFields($form_fields);
433 $this->
object->saveCertificate($xslfo);
434 $this->
object->writeActive($form_fields[
"active"]);
436 $this->ctrl->redirect($this,
"certificateEditor");
437 }
catch (Exception $e) {
An exception for terminatinating execution or to throw for unit testing.
Adapter class to provide certificate data for the certificate generator.
GUI class to create PDF certificates.
certificateExportFO()
Exports the certificate.
getFormFieldsFromFO()
Get the form values from the certificate xsl-fo.
certificateEditor()
Shows the certificate editor for ILIAS tests.
certificatePreview()
Creates a certificate preview.
certificateImport()
Import a certificate from a ZIP archive.
certificateDelete()
Deletes the certificate and all its data.
getCommand($cmd)
Retrieves the ilCtrl command.
executeCommand()
execute command
certificateUpload()
Uploads the certificate.
certificateSave()
Saves the certificate.
certificateDeleteConfirm()
Deletes the certificate and all its data.
getFormFieldsFromPOST()
Get the form values from an HTTP POST.
certificateRemoveBackground()
Removes the background image of a certificate.
__construct(ilCertificateAdapter $adapter)
ilCertificateGUI constructor
static getCustomCertificateFields()
Get custom certificate fields.
Confirmation screen class.
static hasBackgroundImage()
Returns wheather or not a default background image exists.
static getBackgroundImageThumbPathWeb()
Returns the web path of the background image thumbnail.
This class represents an option in a radio group.
special template class to simplify handling of ITX/PEAR
This class represents a text area property in a property form.
This class represents a text property in a property form.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static signFile($path_to_file)
static setTokenMaxLifetimeInSeconds($token_max_lifetime_in_seconds)
if(@file_exists(dirname(__FILE__).'/lang/eng.php')) $certificate
redirection script todo: (a better solution should control the processing via a xml file)
if(isset($_POST['submit'])) $form