defaults';
foreach($prefList as $k => $default)
{
$pdfNew->set($k, $default);
}
}
else
{
$adminEvent = 'PDF_01';
$adminMessage = PDF_LAN_18;
foreach($prefList as $k => $default)
{
if (isset($_POST[$k]))
{
$newVal = $tp->toDB($_POST[$k]);
if ($oldPrefs[$k] != $newVal)
{
$oldPrefs[$k] = $newVal;
$pdfNew->set($k, $newVal);
$prefChanges[] = $k.' => '.$newVal;
}
}
elseif (!isset($oldPrefs[$k]))
{
$oldPrefs[$k] = $default; // Restore any lost prefs
}
}
}
if (count($prefChanges))
{
$result = $pdfNew->save();
if ($result === TRUE)
{
// Do admin logging
$logString = implode('[!br!]', $prefChanges);
e107::getAdminLog()->log_event($adminEvent, $logString, E_LOG_INFORMATIVE, '');
$mes->add($adminMessage, E_MESSAGE_SUCCESS);
}
elseif ($result === FALSE)
{
$mes->add(PDF_LAN_32, E_MESSAGE_ERROR);
}
else
{ // Should never happen
$mes->add('PDF Unexpected result: '.$result, E_MESSAGE_INFO);
}
}
//$admin_log->logArrayAll('PDF_01',$pdfpref);
//return $message;
}
function getDefaultPDFPrefs()
{
$pdfpref['pdf_margin_left'] = '25';
$pdfpref['pdf_margin_right'] = '15';
$pdfpref['pdf_margin_top'] = '15';
$pdfpref['pdf_font_family'] = 'helvetica';
$pdfpref['pdf_font_size'] = '8';
$pdfpref['pdf_font_size_sitename'] = '14';
$pdfpref['pdf_font_size_page_url'] = '8';
$pdfpref['pdf_font_size_page_number'] = '8';
$pdfpref['pdf_show_logo'] = true;
$pdfpref['pdf_show_sitename'] = false;
$pdfpref['pdf_show_page_url'] = true;
$pdfpref['pdf_show_page_number'] = true;
$pdfpref['pdf_error_reporting'] = true;
return $pdfpref;
}
function getPDFPrefs()
{
$ans = e107::pref('pdf'); // retrieve pref array.
if (count($ans) == 0)
{
$ans = getDefaultPDFPrefs();
}
return $ans;
}
// Default list just in case
$fontlist=array('times','courier','helvetica','symbol');
function getFontInfo($fontName)
{
$type = 'empty'; // Preset the stuff we're going to read
$dw = 0;
$cw = array();
$name='';
//$desc=array('Ascent'=>900,'Descent'=>-300,'CapHeight'=>-29,'Flags'=>96,'FontBBox'=>'[-879 -434 1673 900]','ItalicAngle'=>-16.5,'StemV'=>70,'MissingWidth'=>600);
//$up=-125;
//$ut=50;
include(e_PLUGIN.'pdf/fonts/'.$fontName);
return array('type' => $type, 'weight' => $dw, 'codes' => count($cw), 'name' => $name);
}
function getFontList($match = '')
{
require_once(e_HANDLER.'file_class.php');
$fl = new e_file();
if (!$match) $match = '~^uni2cid';
$fileList = $fl->get_files(e_PLUGIN.'pdf/fonts/',$match, 'standard', 1);
$fontList = array();
$intList = array();
foreach ($fileList as $v)
{
if (isset($v['fname']) && (substr($v['fname'],-4) == '.php'))
{
$intList[] = substr($v['fname'],0,-4);
}
}
unset($fileList);
sort($intList); // This will guarantee that base font names appear before bold, italic etc
foreach ($intList as $f)
{
if (substr($f,-2) == 'bi')
{
$fontList[substr($f,0,-2)]['bi'] = $f.'.php';
}
elseif (substr($f,-1) == 'i')
{
$fontList[substr($f,0,-1)]['i'] = $f.'.php';
}
elseif (substr($f,-1) == 'b')
{
$fontList[substr($f,0,-1)]['b'] = $f.'.php';
}
else
{ // Must be base font name
$fontList[$f]['base'] = $f.'.php';
}
}
// Now get the info on each font.
foreach ($fontList as $font => $info)
{
$fontList[$font]['info'] = getFontInfo($info['base']);
}
//print_a($fontList);
return $fontList;
}
$pdfpref = getPDFPrefs();
if(isset($_POST['update_pdf']))
{
// $message = updatePDFPrefs();
updatePDFPrefs($pdfpref, FALSE);
}
if(isset($_POST['default_pdf']))
{
updatePDFPrefs($pdfpref, TRUE);
}
e107::getRender()->tablerender(PDF_LAN_35, eMessage::getInstance()->render());
/*
if(isset($message))
{
$caption = PDF_LAN_1;
$ns -> tablerender($caption, $message);
}
*/
$fontList = getFontList();
$coreList = array();
foreach ($fontList as $font => $info)
{
if ($info['info']['type'] == 'core')
{
$coreList[$font] = $font;
}
}
$text = "
".$rs -> form_open("post", e_SELF, "pdfform", "", "enctype='multipart/form-data'")."
".PDF_LAN_5." |
".$rs -> form_text("pdf_margin_left", 10, $pdfpref['pdf_margin_left'], 10)." |
".PDF_LAN_6." |
".$rs -> form_text("pdf_margin_right", 10, $pdfpref['pdf_margin_right'], 10)." |
".PDF_LAN_7." |
".$rs -> form_text("pdf_margin_top", 10, $pdfpref['pdf_margin_top'], 10)." |
";
$text .= "
".PDF_LAN_8." |
".$rs -> form_select_open("pdf_font_family");
foreach($coreList as $font => $info)
{
$text .= $rs -> form_option($font, ($pdfpref['pdf_font_family'] == $font ? "1" : "0"), $font);
}
$text .= $rs -> form_select_close()."
|
".PDF_LAN_9." |
".$rs -> form_text("pdf_font_size", 10, $pdfpref['pdf_font_size'], 10)." |
".PDF_LAN_10." |
".$rs -> form_text("pdf_font_size_sitename", 10, $pdfpref['pdf_font_size_sitename'], 10)." |
".PDF_LAN_11." |
".$rs -> form_text("pdf_font_size_page_url", 10, $pdfpref['pdf_font_size_page_url'], 10)." |
".PDF_LAN_12." |
".$rs -> form_text("pdf_font_size_page_number", 10, $pdfpref['pdf_font_size_page_number'], 10)." |
".PDF_LAN_13." |
".$rs -> form_radio("pdf_show_logo", "1", ($pdfpref['pdf_show_logo'] ? "1" : "0"), "", "").PDF_LAN_3."
".$rs -> form_radio("pdf_show_logo", "0", ($pdfpref['pdf_show_logo'] ? "0" : "1"), "", "").PDF_LAN_4."
|
".PDF_LAN_14." |
".$rs -> form_radio("pdf_show_sitename", "1", ($pdfpref['pdf_show_sitename'] ? "1" : "0"), "", "").PDF_LAN_3."
".$rs -> form_radio("pdf_show_sitename", "0", ($pdfpref['pdf_show_sitename'] ? "0" : "1"), "", "").PDF_LAN_4."
|
".PDF_LAN_15." |
".$rs -> form_radio("pdf_show_page_url", "1", ($pdfpref['pdf_show_page_url'] ? "1" : "0"), "", "").PDF_LAN_3."
".$rs -> form_radio("pdf_show_page_url", "0", ($pdfpref['pdf_show_page_url'] ? "0" : "1"), "", "").PDF_LAN_4."
|
".PDF_LAN_16." |
".$rs -> form_radio("pdf_show_page_number", "1", ($pdfpref['pdf_show_page_number'] ? "1" : "0"), "", "").PDF_LAN_3."
".$rs -> form_radio("pdf_show_page_number", "0", ($pdfpref['pdf_show_page_number'] ? "0" : "1"), "", "").PDF_LAN_4."
|
".PDF_LAN_20." |
".$rs -> form_radio("pdf_error_reporting", "1", ($pdfpref['pdf_error_reporting'] ? "1" : "0"), "", "").PDF_LAN_3."
".$rs -> form_radio("pdf_error_reporting", "0", ($pdfpref['pdf_error_reporting'] ? "0" : "1"), "", "").PDF_LAN_4."
|
".$rs->form_button('submit', 'update_pdf', LAN_UPDATE)."
".$rs->form_button('submit', 'default_pdf', PDF_LAN_34)."
".$rs -> form_close()."
";
$ns -> tablerender(PDF_LAN_2, $text);
$text = "
';
$ns->tablerender(PDF_LAN_31, $text);
require_once(e_ADMIN.'footer.php');
?>