$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
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); }