diff --git a/lam/lib/html.inc b/lam/lib/html.inc index 6bfbdded..3d9f5322 100644 --- a/lam/lib/html.inc +++ b/lam/lib/html.inc @@ -878,7 +878,7 @@ class htmlHelpLink extends htmlElement { } // print link $helpEntry = getHelp($module, $this->helpID, $scope); - printHelpLink($helpEntry, $this->helpID, $module, $scope); + printHelpLink($helpEntry, $this->helpID, $module, $scope, $this->cssClasses); return array(); } @@ -3308,9 +3308,10 @@ class htmlResponsiveRow extends htmlElement { * Adds the content as a typical field with 12/6/6 columns and CSS class "responsiveField". * * @param htmlElement $content field + * @param $cssClasses CSS class names separated by space */ - public function addField($content) { - $this->add($content, 12, 6, 6, 'responsiveField'); + public function addField($content, $cssClasses = '') { + $this->add($content, 12, 6, 6, 'responsiveField ' . $cssClasses); } /** diff --git a/lam/lib/modules.inc b/lam/lib/modules.inc index f032b0e0..605f8eb5 100644 --- a/lam/lib/modules.inc +++ b/lam/lib/modules.inc @@ -652,8 +652,9 @@ function lamCompareDescriptiveOptions(&$a, &$b) { * @param String $number help number * @param String $module module name * @param String $scope account scope + * @param array $classes CSS classes */ -function printHelpLink($entry, $number, $module='', $scope='') { +function printHelpLink($entry, $number, $module = '', $scope = '', $classes = array()) { $helpPath = "../"; if (is_file("./help.php")) $helpPath = ""; $title = $entry['Headline']; @@ -664,7 +665,7 @@ function printHelpLink($entry, $number, $module='', $scope='') { // replace special characters $message = htmlspecialchars($message); $title = htmlspecialchars($title); - echo ""; echo "\"""; echo ""; diff --git a/lam/lib/modules/inetOrgPerson.inc b/lam/lib/modules/inetOrgPerson.inc index cc3b7006..81656cf5 100644 --- a/lam/lib/modules/inetOrgPerson.inc +++ b/lam/lib/modules/inetOrgPerson.inc @@ -2773,23 +2773,22 @@ class inetOrgPerson extends baseModule implements passwordService { $userCertificates = $attributes['userCertificate;binary']; } $_SESSION[self::SESS_CERTIFICATES_LIST] = $userCertificates; - $certTable = new htmlTable(); - $certTable->addElement(new htmlDiv('userCertificateDiv', $this->getSelfServiceUserCertificates()), true); + $certTable = new htmlResponsiveRow(); + $certTable->add(new htmlDiv('userCertificateDiv', $this->getSelfServiceUserCertificates()), 12); // JavaScript functions - $certTable->addElement($this->getSelfServiceUserCertificatesJSBlock(), true); + $certTable->add($this->getSelfServiceUserCertificatesJSBlock(), 12); // upload button $uploadButtons = new htmlGroup(); $uploadButtons->addElement(new htmlDiv('inetOrgPersonCertUploadId', new htmlOutputText('')), true); $certUpload = new htmlJavaScript('inetOrgPersonUploadCert(\'inetOrgPersonCertUploadId\');'); $uploadButtons->addElement($certUpload); - $certTable->addElement($uploadButtons, true); + $certTable->add($uploadButtons, 12); // upload status $uploadStatus = new htmlDiv('inetOrgPerson_upload_status_cert', new htmlOutputText('')); $uploadStatus->setCSSClasses(array('qq-upload-list')); $uploadStatus->colspan = 7; - $certTable->addElement($uploadStatus, true); + $certTable->add($uploadStatus, 12); $certLabel = new htmlOutputText($this->getSelfServiceLabel('userCertificate', _('User certificates'))); - $certLabel->alignment = htmlElement::ALIGN_TOP; $return['userCertificate'] = new htmlResponsiveRow($certLabel, $certTable); } // ou @@ -2858,10 +2857,11 @@ class inetOrgPerson extends baseModule implements passwordService { */ private function getSelfServiceUserCertificates() { $userCertificates = $_SESSION[self::SESS_CERTIFICATES_LIST]; - $content = new htmlTable(); + $content = new htmlGroup(); if (sizeof($userCertificates) > 0) { - $certTable = new htmlTable(); + $certTable = new htmlResponsiveRow(); for ($i = 0; $i < sizeof($userCertificates); $i++) { + $group = new htmlGroup(); $filename = 'userCertificate' . getRandomNumber() . '.der'; $out = @fopen(dirname(__FILE__) . '/../../tmp/' . $filename, "wb"); fwrite($out, $userCertificates[$i]); @@ -2880,21 +2880,22 @@ class inetOrgPerson extends baseModule implements passwordService { $data[] = $pemData['name']; } if (sizeof($data) > 0) { - $certTable->addElement(new htmlOutputText(implode(': ', $data))); + $group->addElement(new htmlOutputText(implode(': ', $data))); + $group->addElement(new htmlSpacer('5px', null)); } } } $saveLink = new htmlLink('', $path, '../../graphics/save.png'); $saveLink->setTitle(_('Save')); $saveLink->setTargetWindow('_blank'); - $certTable->addElement($saveLink); + $group->addElement($saveLink); $delLink = new htmlLink('', '#', '../../graphics/del.png'); $delLink->setTitle(_('Delete')); $delLink->setOnClick('inetOrgPersonDeleteCertificate(' . $i . '); return false;'); - $certTable->addElement($delLink); - $certTable->addNewLine(); + $group->addElement($delLink); + $certTable->add($group, 12); } - $content->addElement($certTable, true); + $content->addElement($certTable); } return $content; } diff --git a/lam/style/500_layout.css b/lam/style/500_layout.css index 17aa949c..8e708be2 100644 --- a/lam/style/500_layout.css +++ b/lam/style/500_layout.css @@ -128,6 +128,10 @@ input { vertical-align: middle; } +.align-top { + vertical-align: top; +} + table.lamHeader { background-image: url(lam-images/headerLine.png); padding: 0px; @@ -672,10 +676,22 @@ h4.schema_oclass_sub { /** responsive styles */ +.row { + margin-top: 5px; +} + .row input { width: 100%; } +.row input[type="checkbox"] { + width: auto; +} + +.row input[type="radio"] { + width: auto; +} + div.dialog-page { float: left; }