Пример #1
0
 public static function PublishCommon($siteUniqId, $root = '../')
 {
     $site = Site::GetBySiteUniqId($siteUniqId);
     // copy the .htaccess
     $src = $root . 'sites/common/.htaccess';
     $dest = $root . 'sites/' . $site['FriendlyId'] . '/.htaccess';
     copy($src, $dest);
     // copy site.php
     $src = $root . 'sites/common/site.php';
     $dest = $root . 'sites/' . $site['FriendlyId'] . '/site.php';
     copy($src, $dest);
     // copy logout.php
     $src = $root . 'sites/common/logout.php';
     $dest = $root . 'sites/' . $site['FriendlyId'] . '/logout.php';
     copy($src, $dest);
     // copy libs
     $libs_src = $root . 'sites/common/libs/';
     $libs_dir = $root . 'sites/' . $site['FriendlyId'] . '/libs';
     // create libs directory if it does not exist
     if (!file_exists($libs_dir)) {
         mkdir($libs_dir, 0755, true);
     }
     // copy libs directory
     if (file_exists($libs_dir)) {
         Utilities::CopyDirectory($libs_src, $libs_dir);
     }
     // create directory for api
     $api_src = $root . 'sites/common/api/';
     $api_dir = $root . 'sites/' . $site['FriendlyId'] . '/api';
     // create api directory
     if (!file_exists($api_dir)) {
         mkdir($api_dir, 0755, true);
     }
     // copy api directory
     if (file_exists($api_src)) {
         Utilities::CopyDirectory($api_src, $api_dir);
     }
     $dispatch_file = $root . 'sites/' . $site['FriendlyId'] . '/api/dispatch.php';
     // update dispatch with site ids
     if (file_exists($dispatch_file)) {
         $content = file_get_contents($dispatch_file);
         // replace {{placeholder}} with id
         $content = str_replace('{{siteId}}', $site['SiteId'], $content);
         $content = str_replace('{{siteUniqId}}', $site['SiteUniqId'], $content);
         $content = str_replace('{{siteFriendlyId}}', $site['FriendlyId'], $content);
         // save file
         file_put_contents($dispatch_file, $content);
     }
     // copy emails directory
     $emails_src = $root . 'sites/common/emails/';
     $emails_dir = $root . 'sites/' . $site['FriendlyId'] . '/emails';
     // create emails directory if it does not exist
     if (!file_exists($emails_dir)) {
         mkdir($emails_dir, 0755, true);
     }
     // copy emails directory
     if (file_exists($emails_dir)) {
         Utilities::CopyDirectory($emails_src, $emails_dir);
     }
     // deny access to draft
     $dir = $root . 'sites/' . $site['FriendlyId'] . '/fragments/draft/';
     Publish::CreateDeny($dir);
     // deny access to publish
     $dir = $root . 'sites/' . $site['FriendlyId'] . '/fragments/publish/';
     Publish::CreateDeny($dir);
     // deny access to render
     $dir = $root . 'sites/' . $site['FriendlyId'] . '/fragments/render/';
     Publish::CreateDeny($dir);
     // deny access to render
     $dir = $root . 'sites/' . $site['FriendlyId'] . '/fragments/snippets/';
     Publish::CreateDeny($dir);
 }