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