예제 #1
0
function exportSite()
{
    global $strExportName;
    $objCms = PCMS_Client::getInstance();
    $objCms->setLanguage(ContentLanguage::getDefault());
    //*** Get the list of pages.
    $objElements = $objCms->getElementByTemplate("Pages")->getElements();
    foreach ($objElements as $objElement) {
        exportPage($objElement);
    }
    //*** Return the zip file to the user.
    header("HTTP/1.1 200 OK");
    header("Pragma: public");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private", false);
    header('Content-Type: text; charset=utf-8');
    header("Content-Length: " . (string) filesize($strExportName));
    header('Content-Disposition: attachment; filename="' . $objCms->getAccount()->getUri() . '.txt"');
    readfile($strExportName);
    exit;
}
예제 #2
0
파일: index.php 프로젝트: Devenet/MyBooks
}
// delete book asked
if (isset($_GET['delete']) && !empty($_GET['delete'])) {
    deleteBook();
}
// display writted log asked
if (isset($_GET['logs'])) {
    logsPage();
}
// display settings log asked
if (isset($_GET['settings'])) {
    settingsPage();
}
// display export page asked
if (isset($_GET['export'])) {
    exportPage();
}
// display import page asked
if (isset($_GET['import'])) {
    importPage();
}
// nothing to do: 404 error
function notFound()
{
    global $tpl;
    header('HTTP/1.1 404 Not Found', true, 404);
    $tpl->assign('page_title', 'Error 404');
    $tpl->assign('menu_links', Path::menu('error'));
    $tpl->assign('menu_links_admin', Path::menuAdmin('error'));
    $tpl->draw('404');
    exit;
/**
 * Exports and creates new static pages for all 'page' objects under the
 * provided node
 *
 * @param eZContentObjectTreeNode $page Parent node to use when fetching eZ
 * static pages.
 * @param string $clusterIdentifier Cluster identifier to use for new static
 * pages
 **/
function exportPages( $topNode, $clusterIdentifier )
{
    $offset = 0;
    $limit = 50;

    $pages = fetchPages( $topNode, $offset, $limit );
    while ( $pages )
    {
        foreach( $pages as $page )
        {
            exportPage( $page, $clusterIdentifier );
        }
        $offset += $limit;
        $pages = fetchPages( $topNode, $offset, $limit );
    }
}
예제 #4
0
function exportSite()
{
    global $strBaseFolder, $strZipFolder, $strZipName, $objZip;
    $objCms = PCMS_Client::getInstance();
    $objCms->setLanguage(ContentLanguage::getDefault());
    //*** Get a collection of Languages.
    $objLanguages = $objCms->getLanguages();
    foreach ($objLanguages as $objLanguage) {
        //*** Export the entry page.
        exportIndexPage($objLanguage);
        //*** Get the list of pages.
        $objElements = $objCms->getPageElements($objLanguage->getId());
        foreach ($objElements as $objElement) {
            exportPage($objElement, $objLanguage);
        }
    }
    //*** Export auxilary fodlers.
    $arrFileFilter = array("js", "css", "jpg", "gif", "png", "ico", "txt", "html");
    copyr($strBaseFolder . "css", "css", $arrFileFilter);
    copyr($strBaseFolder . "includes", "includes", $arrFileFilter);
    copyr($strBaseFolder . "images", "images", $arrFileFilter);
    copyr($strBaseFolder . "files", "files", $arrFileFilter);
    copyr($strBaseFolder . "libraries", "libraries", $arrFileFilter);
    copyr($strBaseFolder . "favicon.ico", "favicon.ico");
    copyr($strBaseFolder . "robots.txt", "robots.txt");
    //*** Close zip file.
    $objZip->save();
    //*** Return the zip file to the user.
    header("HTTP/1.1 200 OK");
    header("Pragma: public");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private", false);
    header('Content-Type: application/octetstream; charset=utf-8');
    header("Content-Length: " . (string) filesize($strZipName));
    header('Content-Disposition: attachment; filename="' . $objCms->getAccount()->getUri() . '.zip"');
    header("Content-Transfer-Encoding: binary\n");
    readfile($strZipName);
    exit;
}