parse($file); $border = array(); $structure = array(); $border[$current] = array(); $page_definitions = array(); if($xml[0][$xml[1]['PDF'][0]]['attributes']['TYPE'] == $scope) { $border['start'] = $xml[1]['PDF'][0]; $page_definitions = $xml[0][$xml[1]['PDF'][0]]['attributes']; foreach($page_definitions as $key => $value) { $page_definitions[strtolower($key)] = $value; unset($page_definitions[$key]); } $border['end'] = $xml[1]['PDF'][1]; } $structure = array_slice($xml[0],$border['start'] + 1,$border['end'] - ($border['start'] + 1)); return array('structure' => $structure, 'page_definitions' => $page_definitions); } /** * * * @param string * @param string */ function savePDFStructureDefinitions($scope,$definition) { $handle = fopen($_SESSION['lampath'] . 'config/pdf/' . $scope . '/' . $definition,'w'); $pdf_attributes = ''; foreach($_SESSION['currentPageDefinitions'] as $key => $value) { if($key != 'type') { $pdf_attributes .= ' ' . $key . '="' . $value . '"'; } } $file = '\n"; foreach($_SESSION['currentPDFStructure'] as $entry) { $ident = ''; for($i=0;$i<$entry['level'] -1;$i++) { $ident .= "\t"; } $attributes = ''; if(is_array($entry['attributes'])) { foreach($entry['attributes'] as $key => $value) { $attributes .= ' ' . strtolower($key) . '="' . $value . '"'; } } if($entry['type'] == 'open') { $file .= $ident . '<' . strtolower($entry['tag']) . $attributes . ">\n"; } elseif($entry['type'] == 'close') { $file .= $ident . '\n"; } elseif($entry['type'] == 'complete') { if(isset($entry['value'])) { $file .= $ident . '<' . strtolower($entry['tag']) . $attributes . '>' . $entry['value'] . '\n"; } else { $file .= $ident . '<' . strtolower($entry['tag']) . $attributes . " />\n"; } } } $file .= ""; fwrite($handle,$file); fclose($handle); } /** * * * @param string * @param string * * @return boolean */ function deletePDFStructureDefinition($scope,$definition) { $file = $_SESSION['lampath'] . 'config/pdf/' . $scope . '/' . $definition; return unlink($file); } /** * * * @return array */ function getAvailableLogos() { $return = array(); $dirPath = $_SESSION['lampath'] . '/config/pdf/logos/'; $dirHandle = opendir($dirPath); while($file = readdir($dirHandle)) { if(!is_dir($file) && $file != '.' && $file != '..' && preg_match('/\\.(jpg|png)$/',$file)) { $infos = getimagesize($dirPath . $file); if($infos[0] <= 400 && $infos[1] <= 60) { array_push($return, array('filename' => $file, 'infos' => $infos)); } } } sort($return); return $return; } ?>