public function swapContent($options)
 {
     if ($this->validateClearSiteContents($options)) {
         Loader::model("page_list");
         Loader::model("file_list");
         Loader::model("stack/list");
         $pl = new PageList();
         $pages = $pl->get();
         foreach ($pages as $c) {
             $c->delete();
         }
         $fl = new FileList();
         $files = $fl->get();
         foreach ($files as $f) {
             $f->delete();
         }
         // clear stacks
         $sl = new StackList();
         foreach ($sl->get() as $c) {
             $c->delete();
         }
         $home = Page::getByID(HOME_CID);
         $blocks = $home->getBlocks();
         foreach ($blocks as $b) {
             $b->deleteBlock();
         }
         $pageTypes = CollectionType::getList();
         foreach ($pageTypes as $ct) {
             $ct->delete();
         }
         // now we add in any files that this package has
         if (is_dir($this->getPackagePath() . '/content_files')) {
             Loader::library('file/importer');
             $fh = new FileImporter();
             $contents = Loader::helper('file')->getDirectoryContents($this->getPackagePath() . '/content_files');
             foreach ($contents as $filename) {
                 $f = $fh->import($this->getPackagePath() . '/content_files/' . $filename, $filename);
             }
         }
         // now we parse the content.xml if it exists.
         Loader::library('content/importer');
         $ci = new ContentImporter();
         $ci->importContentFile($this->getPackagePath() . '/content.xml');
     }
 }
 public function install_permissions()
 {
     $ci = new ContentImporter();
     $ci->importContentFile(DIR_BASE_CORE . '/config/install/base/permissions.xml');
 }
 public function install()
 {
     $pkg = parent::install();
     $ci = new ContentImporter();
     $ci->importContentFile($pkg->getPackagePath() . '/install/blocktypes.xml');
 }
 public function installDashboard()
 {
     Loader::library('content/importer');
     $ci = new ContentImporter();
     $ci->importContentFile(DIR_BASE_CORE . '/config/install/base/dashboard.xml');
 }
	public function set_site_permissions() {
		$ci = new ContentImporter();
		$ci->importContentFile(DIR_BASE_CORE. '/config/install/base/permissions.xml');
		
		Loader::model('file_set');
		$fs = FileSet::getGlobal();
		$g1 = Group::getByID(GUEST_GROUP_ID);
		$g2 = Group::getByID(REGISTERED_GROUP_ID);
		$g3 = Group::getByID(ADMIN_GROUP_ID);
		
		$fs->setPermissions($g1, FilePermissions::PTYPE_NONE, FilePermissions::PTYPE_ALL, FilePermissions::PTYPE_NONE, FilePermissions::PTYPE_NONE, FilePermissions::PTYPE_NONE);
		$fs->setPermissions($g2, FilePermissions::PTYPE_NONE, FilePermissions::PTYPE_ALL, FilePermissions::PTYPE_NONE, FilePermissions::PTYPE_NONE, FilePermissions::PTYPE_NONE);
		$fs->setPermissions($g3, FilePermissions::PTYPE_ALL, FilePermissions::PTYPE_ALL, FilePermissions::PTYPE_ALL, FilePermissions::PTYPE_ALL, FilePermissions::PTYPE_ALL);

		Config::save('SITE', SITE);
		Config::save('SITE_APP_VERSION', APP_VERSION);
		$u = new User();
		$u->saveConfig('NEWSFLOW_LAST_VIEWED', 'FIRSTRUN');
		
		$args = array();
		$args['cInheritPermissionsFrom'] = 'OVERRIDE';
		$args['cOverrideTemplatePermissions'] = 1;
		$args['collectionRead'][] = 'gID:' . GUEST_GROUP_ID;
		$args['collectionAdmin'][] = 'gID:' . ADMIN_GROUP_ID;
		$args['collectionRead'][] = 'gID:' . ADMIN_GROUP_ID;
		$args['collectionApprove'][] = 'gID:' . ADMIN_GROUP_ID;
		$args['collectionReadVersions'][] = 'gID:' . ADMIN_GROUP_ID;
		$args['collectionWrite'][] = 'gID:' . ADMIN_GROUP_ID;
		$args['collectionDelete'][] = 'gID:' . ADMIN_GROUP_ID;
		
		$home = Page::getByID(1, "RECENT");
		$home->updatePermissions($args);
	}