diff --git a/lam/lib/pdf.inc b/lam/lib/pdf.inc index d5a5e4fa..3acbf092 100644 --- a/lam/lib/pdf.inc +++ b/lam/lib/pdf.inc @@ -256,7 +256,7 @@ function createUserPDF($accounts) { } } closedir($h); - + // Close PDF $pdfFile->Close(); // use timestamp as filename so it should be unique. @@ -285,6 +285,160 @@ function createUserPDF($accounts) { return 0; // 0 means everything successful; page(s) printed } +// creates a PDF with host accounts +// $accounts: array of account +function createHostPDF($accounts) { + // Start PDF file + $pdfFile = new lamHostPDF(); + $pdfFile->Open(); + // Write some information into the PDF file + $pdfFile->setFont("arial","",12); + $pdfFile->setTitle("LDAP Account Manager"); + $pdfFile->setSubject(_("Samba-Host information page")); + $pdfFile->setAuthor("LDAP Account Manager Devel-Team -Roland Gruber-"); + $pdfFile->setCreator("LDAP Account Manager (pdf.inc)"); + // print host accounts + $pdfFile->addPage(); + $k = 0; // used to count the already printed accounts per page + for($i = 0; $i < count($accounts); $i++) { + $k++; + $account = $accounts[$i]; + $ypos = $pdfFile->GetY(); + $pdfFile->setFont("times","B",16); + $pdfFile->Write(5,$account->general_username); + $pdfFile->Ln(8); + $pdfFile->setFont("times","",10); + $pdfFile->Write(5,_("Description") . ": "); + $pdfFile->setFont("times","B",10); + $pdfFile->Write(5,$account->general_gecos); + $pdfFile->Ln(5); + $pdfFile->setFont("times","",10); + $pdfFile->Write(5,_("UID") . ": "); + $pdfFile->setFont("times","B",10); + $pdfFile->Write(5,$account->general_uidNumber); + $pdfFile->Ln(5); + $pdfFile->setFont("times","",10); + $pdfFile->Write(5,_("Primary group") . ": "); + $pdfFile->setFont("times","B",10); + $pdfFile->Write(5,$account->general_group); + $pdfFile->Ln(5); + $pdfFile->setFont("times","",10); + $pdfFile->Write(5,_("Domain") . ": "); + $pdfFile->setFont("times","B",10); + unset($domain); + if (is_string($account->smb_domain)) { + $domain = $account->smb_domain; + } + else { + $domain = $account->smb_domain->name; + } + $pdfFile->Write(5,$domain); + $pdfFile->Ln(5); + $pdfFile->setFont("times","",10); + $pdfFile->Write(5,_("DN") . ": "); + $pdfFile->setFont("times","B",9); + $pdfFile->Write(5,$account->general_dn); + // print second column + if ($accounts[$i+1]) { + $k++; + $i++; + $account = $accounts[$i]; + $pdfFile->SetY($ypos); + $pdfFile->SetX(115); + $pdfFile->setFont("times","B",16); + $pdfFile->Write(5,$account->general_username); + $pdfFile->Ln(7); + $pdfFile->SetX(115); + $pdfFile->setFont("times","",10); + $pdfFile->Write(5,_("Description") . ": "); + $pdfFile->setFont("times","B",10); + $pdfFile->Write(5,$account->general_gecos); + $pdfFile->Ln(5); + $pdfFile->SetX(115); + $pdfFile->setFont("times","",10); + $pdfFile->Write(5,_("UID") . ": "); + $pdfFile->setFont("times","B",10); + $pdfFile->Write(5,$account->general_uidNumber); + $pdfFile->Ln(5); + $pdfFile->SetX(115); + $pdfFile->setFont("times","",10); + $pdfFile->Write(5,_("Primary group") . ": "); + $pdfFile->setFont("times","B",10); + $pdfFile->Write(5,$account->general_group); + $pdfFile->Ln(5); + $pdfFile->SetX(115); + $pdfFile->setFont("times","",10); + $pdfFile->Write(5,_("Domain") . ": "); + $pdfFile->setFont("times","B",10); + unset($domain); + if (is_string($account->smb_domain)) { + $domain = $account->smb_domain; + } + else { + $domain = $account->smb_domain->name; + } + $pdfFile->Write(5,$domain); + $pdfFile->Ln(5); + $pdfFile->SetX(115); + $pdfFile->setFont("times","",10); + $pdfFile->Write(5,_("DN") . ": "); + $pdfFile->setFont("times","B",9); + $pdfFile->Write(5,$account->general_dn); + } + // space between two rows + if ($i < count($accounts) - 1) { + $pdfFile->Ln(12); + } + // new page after twelve accounts + if ($k == 12) { + $k = 0; + $pdfFile->addPage(); + } + } + + // Close PDF + $pdfFile->Close(); + + // Delete old PDF older than 3 min + $relpath = $_SESSION['lampath'].'tmp/'; + + $t=time(); + $h=opendir("$relpath"); + while ($file=readdir($h)) { + if (substr($file, -4)=='.pdf') { + $path = $relpath.$file; + if ($t-filemtime($path)>180) + @unlink($path); + } + } + closedir($h); + + // use timestamp as filename so it should be unique. + $time = time(); + $filename = $relpath. $time .'.pdf'; + $fileurl = $_SESSION['lamurl'].'templates/getpdf.php?&f='.$_SESSION['lampath'] .'tmp/'. $time .'.pdf'; + // Save PDF + $pdfFile->Output($filename); + + // Create redirector page + + + echo $_SESSION['header']; + echo "
\n"); } +// add/delete/PDF buttons echo ("
\n");
echo ("\n");
-if (sizeof($hst_info) > 0) echo ("\n");
+if (sizeof($hst_info) > 0) {
+ echo ("\n");
+ echo ("
\n");
+ echo "
\n"); +// new/delete/PDF buttons echo ("
\n");
echo ("\n");
if ($user_count != 0) {
echo ("\n");
- echo ("
\n");
+ echo ("
\n");
+ echo "