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