Exemplo n.º 1
0
 $sync->setReport(true);
 $sync->emptyCache();
 $prefix = $_POST['prefix'];
 $suffix = $_POST['suffix'];
 $noncache = $_POST['includenoncache'] == 1 ? "" : "AND cacheable=1";
 if ($modx->config['friendly_urls'] == 1 && $modx->config['use_alias_path'] == 1) {
     $sqlcond = "deleted=0 AND ((published=1 AND type='document') OR (isfolder=1)) {$noncache}";
     $sql = "SELECT count(*) as count1 FROM " . $modx->getFullTableName("site_content") . " WHERE " . $sqlcond;
     $rs = $modx->dbQuery($sql);
     $row = $modx->fetchRow($rs, 'num');
     $prefix = $modx->config['friendly_url_prefix'];
     $suffix = $modx->config['friendly_url_suffix'];
     $limit = $row[0];
     printf($_lang['export_site_numberdocs'], $limit);
     $n = 1;
     exportDir(0, $export_path, &$n);
 } else {
     // Modified for export alias path  2006/3/24 end
     $sql = "SELECT id, alias, pagetitle, (content = '' AND template = 0) AS wasNull FROM " . $modx->getFullTableName('site_content') . " WHERE deleted=0 AND published=1 AND type='document' {$noncache}";
     $rs = $modx->dbQuery($sql);
     $limit = $modx->recordCount($rs);
     printf($_lang['export_site_numberdocs'], $limit);
     for ($i = 0; $i < $limit; $i++) {
         $row = $modx->fetchRow($rs);
         if ($row['wasNull'] || $modx->config['error_page'] == $row['id']) {
             continue;
         }
         $id = $row['id'];
         printf($_lang['export_site_exporting_document'], $i, $limit, $row['pagetitle'], $id);
         $alias = $row['alias'];
         // Modified for .xml extension 2006/1/18
Exemplo n.º 2
0
 function exportDir($dirid, $dirpath, &$i)
 {
     global $_lang;
     global $base;
     global $modx;
     global $limit;
     global $dbase;
     global $table_prefix;
     global $sqlcond;
     $sql = "SELECT id, alias, pagetitle, isfolder, (content = '' AND template = 0) AS wasNull, editedon FROM {$dbase}.`" . $table_prefix . "site_content` WHERE {$dbname}.`" . $table_prefix . "site_content`.parent = " . $dirid . " AND " . $sqlcond;
     $rs = mysql_query($sql);
     $dircontent = array();
     while ($row = mysql_fetch_assoc($rs)) {
         if (!$row['wasNull']) {
             // needs writing a document
             $docname = getPageName($row['id'], $row['alias'], $modx->config['friendly_url_prefix'], $suffix = $modx->config['friendly_url_suffix']);
             printf($_lang['export_site_exporting_document'], $i++, $limit, $row['pagetitle'], $row['id']);
             $filename = $dirpath . $docname;
             if (is_dir($filename)) {
                 removeDirectoryAll($filename);
             }
             if (!file_exists($filename) || filemtime($filename) < $row['editedon']) {
                 if (!writeAPage($base, $row['id'], $filename)) {
                     exit;
                 }
             } else {
                 echo '<p><span class="success">' . $_lang['export_site_success'] . "</span> " . $_lang["export_site_success_skip_doc"] . '</p>';
             }
             $dircontent[] = $docname;
         }
         if ($row['isfolder']) {
             // needs making a folder
             $dirname = $dirpath . $row['alias'];
             if (!is_dir($dirname)) {
                 if (file_exists($dirname)) {
                     @unlink($dirname);
                 }
                 mkdir($dirname);
                 if ($row['wasNull']) {
                     printf($_lang['export_site_exporting_document'], $i++, $limit, $row['pagetitle'], $row['id']);
                     echo '<p class="success">' . $_lang['export_site_success'] . '</p>';
                 }
             } else {
                 if ($row['wasNull']) {
                     printf($_lang['export_site_exporting_document'], $i++, $limit, $row['pagetitle'], $row['id']);
                     echo '<p><span class="success">' . $_lang['export_site_success'] . $_lang["export_site_success_skip_dir"] . '</p>';
                 }
             }
             exportDir($row['id'], $dirname . "/", $i);
             $dircontent[] = $row['alias'];
         }
     }
     // remove No-MODx files/dirs
     if (!scanDirectory($dirpath, $dircontent)) {
         exit;
     }
     //		print_r ($dircontent);
 }