function make_entry_xml() { global $row, $xml, $comment_arr, $count; $xml = new XMLFile(); $xml->create_root(); # necessary -- no root is created until requested $xml->roottag->name = 'PIVOTXML'; $xml->roottag->add_subtag('ENTRY', array()); $entrytag =& $xml->roottag->curtag; $entrytag->add_attribute('UID', $row['id']); $entrytag->add_attribute('CODE', $row['code']); $entrytag->add_subtag('TEMPLATE', array()); $entrytag->curtag->cdata = $row['template']; $entrytag->add_subtag('DATE', array()); $entrytag->curtag->cdata = $row['date']; $entrytag->add_subtag('USER', array()); $entrytag->curtag->cdata = $row['user']; $entrytag->add_subtag('TITLE', array()); $entrytag->curtag->cdata = html_entities($row['title']); $entrytag->add_subtag('SUBTITLE', array()); $entrytag->curtag->cdata = html_entities($row['subtitle']); $entrytag->add_subtag('INTRODUCTION', array()); $entrytag->curtag->cdata = html_entities($row['introduction'], 1); $entrytag->add_subtag('BODY', array()); $entrytag->curtag->cdata = html_entities($row['body']); $entrytag->add_subtag('MEDIA', array()); $entrytag->curtag->cdata = $row['media']; $entrytag->add_subtag('LINKS', array()); if (count($row['comments']) > 0) { foreach ($row['comments'] as $comment) { $entrytag->add_subtag('COMMENT', array()); $commtag =& $entrytag->curtag; // When we start using the Thread_code, use this.. //$commtag->add_attribute( 'THREAD_CODE', $comment['thread_code']); $commtag->add_attribute('THREAD_CODE', ""); $commtag->add_subtag('NAME', array()); $commtag->curtag->cdata = html_entities($comment['name']); $commtag->add_subtag('EMAIL', array()); $commtag->curtag->cdata = html_entities($comment['email']); $commtag->add_subtag('URL', array()); $commtag->curtag->cdata = html_entities($comment['url']); $commtag->add_subtag('IP', array()); $commtag->curtag->cdata = $comment['ip']; $commtag->add_subtag('DATE', array()); $commtag->curtag->cdata = $comment['date']; $commtag->add_subtag('COMMENT', array()); $commtag->curtag->cdata = html_entities($comment['comment'], 1); } // foreach } // if $filename = str_replace("blog-", "entry", add_code_padding($row['code']) . ".php"); $fh = fopen("db/" . $filename, 'w'); $xml->write_file_handle($fh); fclose($fh); $xml->cleanup(); debug("writexml - {$filename}"); }
function savexml($update_index = TRUE) { $xml = new XMLFile(); $xml->create_root(); # necessary -- no root is created until requested $xml->roottag->name = 'PIVOTXML'; $xml->roottag->add_subtag('ENTRY', array()); $entrytag =& $xml->roottag->curtag; //$entrytag->add_attribute( 'UID', $this->entry['id']); $entrytag->add_attribute('CODE', $this->entry['code']); @$entrytag->add_attribute('CATEGORY', trim($this->entry['category'])); $entrytag->add_subtag('TEMPLATE', array()); $entrytag->curtag->cdata = $this->entry['template']; $entrytag->add_subtag('DATE', array()); $entrytag->curtag->cdata = $this->entry['date']; $entrytag->add_subtag('USER', array()); $entrytag->curtag->cdata = $this->entry['user']; $entrytag->add_subtag('TITLE', array()); $entrytag->curtag->cdata = html_entities($this->entry['title']); $entrytag->add_subtag('SUBTITLE', array()); $entrytag->curtag->cdata = html_entities($this->entry['subtitle']); $entrytag->add_subtag('INTRODUCTION', array()); $entrytag->curtag->cdata = html_entities($this->entry['introduction'], 1); $entrytag->add_subtag('BODY', array()); $entrytag->curtag->cdata = html_entities($this->entry['body']); $entrytag->add_subtag('CATEGORY', array()); @($entrytag->curtag->cdata = html_entities($this->entry['category'])); $entrytag->add_subtag('MEDIA', array()); $entrytag->curtag->cdata = $this->entry['media']; $entrytag->add_subtag('LINKS', array()); if (isset($this->entry['comments']) && count($this->entry['comments']) > 0) { foreach ($this->entry['comments'] as $comment) { $entrytag->add_subtag('COMMENT', array()); $commtag =& $entrytag->curtag; // When we start using the Thread_code, use this.. //$commtag->add_attribute( 'THREAD_CODE', $comment['thread_code']); $commtag->add_attribute('THREAD_CODE', ""); $commtag->add_subtag('NAME', array()); $commtag->curtag->cdata = html_entities($comment['name']); $commtag->add_subtag('EMAIL', array()); $commtag->curtag->cdata = html_entities($comment['email']); $commtag->add_subtag('URL', array()); $commtag->curtag->cdata = html_entities($comment['url']); $commtag->add_subtag('IP', array()); $commtag->curtag->cdata = $comment['ip']; $commtag->add_subtag('DATE', array()); $commtag->curtag->cdata = $comment['date']; $commtag->add_subtag('COMMENT', array()); $commtag->curtag->cdata = html_entities($comment['comment'], 1); } // foreach } // if //debug ("file: ".$this->entry['filename']); // Make folder if it doesn't exist. $dir = dirname($this->entry['filename']); $oldumask = umask(0); @mkdir("{$dir}", 0777); chmod("{$dir}", 0777); // write the file $fh = fopen($this->entry['filename'], 'w'); $xml->write_file_handle($fh); fclose($fh); chmod($this->entry['filename'], 0666); umask($oldumask); $xml->cleanup(); // There should be code here to update the current index. if ($update_index) { $this->update_index(); $this->write_entry_index(); $this->write_date_index(); } }