24 include_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");
270 $form->addItem($active);
272 $import =
new ilFileInputGUI($this->lng->txt(
"import"),
"certificate_import");
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) {
292 $option =
new ilRadioOption($format[
"name"], $format[
"value"]);
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");
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");
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");
getCommand($cmd)
Retrieves the ilCtrl command.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
certificateSave()
Saves the certificate.
This class represents an option in a radio group.
certificatePreview()
Creates a certificate preview.
executeCommand()
execute command
certificateEditor()
Shows the certificate editor for ILIAS tests.
__construct(ilCertificateAdapter $adapter)
ilCertificateGUI constructor
certificateDeleteConfirm()
Deletes the certificate and all its data.
if(@file_exists(dirname(__FILE__).'/lang/eng.php')) $certificate
getFormFieldsFromPOST()
Get the form values from an HTTP POST.
certificateExportFO()
Exports the certificate.
if(isset($_POST['submit'])) $form
special template class to simplify handling of ITX/PEAR
certificateImport()
Import a certificate from a ZIP archive.
This class represents a text property in a property form.
certificateUpload()
Uploads the certificate.
GUI class to create PDF certificates.
redirection script todo: (a better solution should control the processing via a xml file) ...
static getBackgroundImageThumbPathWeb()
Returns the web path of the background image thumbnail.
getFormFieldsFromFO()
Get the form values from the certificate xsl-fo.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static getCustomCertificateFields()
Get custom certificate fields.
static signFile($path_to_file)
Create styles array
The data for the language used.
certificateRemoveBackground()
Removes the background image of a certificate.
static hasBackgroundImage()
Returns wheather or not a default background image exists.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Create new PHPExcel object
obj_idprivate
This class represents a text area property in a property form.
Adapter class to provide certificate data for the certificate generator.
static setTokenMaxLifetimeInSeconds($token_max_lifetime_in_seconds)
certificateDelete()
Deletes the certificate and all its data.
setValue($a_value)
Set Value.
Confirmation screen class.