Пример #1
0
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}");
}
Пример #2
0
 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();
     }
 }