Beispiel #1
0
 function exportCategory($cat_id)
 {
     $cat_exported = array();
     $info = $this->wikiManager->getCategoryInfo($cat_id);
     $cat_title = $info["title"];
     $doc = new DoceboDOMDocument("1.0");
     $root = $doc->createElement("FAQCATEGORY");
     $doc->appendChild($root);
     $elem = $doc->createElement("DATE");
     $elemText = $doc->createTextNode(date("Y-m-d H:i:s"));
     $elem->appendChild($elemText);
     $root->appendChild($elem);
     $elem = $doc->createElement("TITLE");
     $elemText = $doc->createTextNode(urlencode($info["title"]));
     $elem->appendChild($elemText);
     $root->appendChild($elem);
     $elem = $doc->createElement("DESCRIPTION");
     $elemText = $doc->createTextNode(urlencode($info["description"]));
     $elem->appendChild($elemText);
     $root->appendChild($elem);
     /*		$elem=$doc->createElement("AUTHOR");
     		$elemText=$doc->createTextNode($info["author"]);
     		$elem->appendChild($elemText);
     		$root->appendChild($elem); */
     $items = $doc->createElement("CATEGORYITEMS");
     $root->appendChild($items);
     $data_info = $this->wikiManager->getCategoryItems($cat_id);
     $data_arr = $data_info["data_arr"];
     $tot = count($data_arr);
     for ($i = 0; $i < $tot; $i++) {
         /*			$id=$data_arr[$i]["faq_id"];
         
         			$elem=$doc->createElement("faq_id");
         			$elemText=$doc->createTextNode($id);
         			$elem->appendChild($elemText);
         			$elem->setAttribute("id", $id);
         			$items->appendChild($elem);
         */
         $id = $data_arr[$i]["faq_id"];
         $faq = $doc->createElement("faq");
         $faq->setAttribute("id", $id);
         $items->appendChild($faq);
         $elem = $doc->createElement("title");
         $elemText = $doc->createTextNode(urlencode($data_arr[$i]["title"]));
         $elem->appendChild($elemText);
         $faq->appendChild($elem);
         $elem = $doc->createElement("question");
         $elemText = $doc->createTextNode(urlencode($data_arr[$i]["question"]));
         $elem->appendChild($elemText);
         $faq->appendChild($elem);
         $elem = $doc->createElement("keyword");
         $elemText = $doc->createTextNode(urlencode($data_arr[$i]["keyword"]));
         $elem->appendChild($elemText);
         $faq->appendChild($elem);
         $elem = $doc->createElement("answer");
         $elemText = $doc->createTextNode(urlencode($data_arr[$i]["answer"]));
         $elem->appendChild($elemText);
         $faq->appendChild($elem);
     }
     $out = $doc->saveXML();
     $title = rawurlencode(str_replace(" ", "", $cat_title));
     $date = date("Ymd");
     $domain = preg_replace("/www/i", "", $_SERVER["SERVER_NAME"]);
     $domain = str_replace(".", "", $domain);
     $filename = "faq_" . $date . "_" . $title . "_" . $domain;
     $filename = substr($filename, 0, 200);
     //-- Debug: --//
     // echo $filename."<br /><br /><textarea rows=\"20\" cols=\"80\">".$out."</textarea>"; die();
     ob_end_clean();
     //Download file
     //send file length info
     header('Content-Length:' . strlen($out));
     //content type forcing dowlad
     header("Content-type: application/download\n");
     //cache control
     header("Cache-control: private");
     //sending creation time
     header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
     //content type
     header('Content-Disposition: attachment; filename="' . $filename . '.xml"');
     //sending file
     echo $out;
     //and now exit
     exit;
 }