Exemple #1
0
	public function run() {
		$j = Job::getByHandle('index_search_all');
		if (!is_object($j)) {
			Job::installByHandle('index_search_all');
		}

		$js = JobSet::getByName('Default');
		if (!is_object($js)) {
			$js = JobSet::add('Default');
		}
		$js->clearJobs();
		$jobs = Job::getList();
		foreach($jobs as $j) {
			if (!$j->supportsQueue()) {
				$js->addJob($j);	
			}
		}

		// create the view page in sitemap permission
		$rpk = PermissionKey::getByHandle('view_page');
		$vpk = PermissionKey::getByHandle('view_page_in_sitemap');
		if (!is_object($vpk)) {
			$vpk = PermissionKey::add('page', 'view_page_in_sitemap', 'View Page in Sitemap', 'View Page in Sitemap and Intelligent Search.', false, false);
		}
		// now we have to get a list of all pages in the site that have their own permissions set.
		$db = Loader::db();
		$r = $db->Execute('select cID from Pages where cInheritPermissionsFrom = "OVERRIDE" order by cID asc');
		while ($row = $r->Fetchrow()) {
			$c = Page::getByID($row['cID']);
			if (is_object($c) && !$c->isError()) {
				$rpk->setPermissionObject($c);
				$vpk->setPermissionObject($c);
				$rpa = $rpk->getPermissionAccessObject();
				if (is_object($rpa)) {
					$pt = $vpk->getPermissionAssignmentObject();
					if (is_object($pt)) {
						$pt->clearPermissionAssignment();
						$pt->assignPermissionAccess($rpa);						
					}
				}
			}
		}
	}
Exemple #2
0
 public function add_set()
 {
     $this->set('jobSetsSelected', true);
     if ($this->token->validate('add_set')) {
         if (!trim($this->post('jsName'))) {
             $this->error->add(t("Specify a name for your Job set."));
         }
         if (!$this->error->has()) {
             $js = JobSet::add($this->post('jsName'));
             if (is_array($_POST['jID'])) {
                 foreach ($_POST['jID'] as $jID) {
                     $j = Job::getByID($jID);
                     if (is_object($j)) {
                         $js->addJob($j);
                     }
                 }
             }
             $this->redirect('/dashboard/system/optimization/jobs', 'set_added');
         }
     } else {
         $this->error->add($this->token->getErrorMessage());
     }
 }
 protected function importJobSets(SimpleXMLElement $sx)
 {
     if (isset($sx->jobsets)) {
         foreach ($sx->jobsets->jobset as $js) {
             $pkg = ContentImporter::getPackageObject($js['package']);
             $jso = JobSet::getByName((string) $js['name']);
             if (!is_object($jso)) {
                 $jso = JobSet::add((string) $js['name']);
             }
             foreach ($js->children() as $jsk) {
                 $j = Job::getByHandle((string) $jsk['handle']);
                 if (is_object($j)) {
                     $jso->addJob($j);
                 }
             }
         }
     }
 }