$total = $rows[0]['count']; if (!$optDryRun) { $cli->output("{$total} policies to check... (In the progess bar, 'R' means that the policy was removed)"); } else { $cli->output("{$total} policies to check..."); } if (!$optDryRun) { $script->setIterationData('R', '.'); $script->resetIteration($total); } $limitation = array('offset' => 0, 'limit' => 100); $db = eZDB::instance(); $modules = eZModule::globalPathList(); $removedPolicies = 0; while (true) { $policies = eZPersistentObject::fetchObjectList(eZPolicy::definition(), null, null, null, $limitation, true); if (empty($policies)) { break; } foreach ($policies as $policy) { if ($policy->attribute('module_name') === '*') { continue; } $moduleExists = false; foreach ($modules as $module) { if (file_exists($module . '/' . $policy->attribute('module_name'))) { $moduleExists = true; break; } } if (!$moduleExists) {
function policyList() { if (!isset($this->Policies)) { $sorting = array('module_name' => 'asc', 'function_name' => 'asc'); $policies = eZPersistentObject::fetchObjectList(eZPolicy::definition(), null, array('role_id' => $this->attribute('id'), 'original_id' => 0), $sorting, null, true); if ($this->LimitIdentifier) { foreach (array_keys($policies) as $policyKey) { $policies[$policyKey]->setAttribute('limit_identifier', 'User_' . $this->attribute('limit_identifier')); $policies[$policyKey]->setAttribute('limit_value', $this->attribute('limit_value')); $policies[$policyKey]->setAttribute('user_role_id', $this->attribute('user_role_id')); } } $this->Policies = $policies; } return $this->Policies; }
static function fetch($policyID) { return eZPersistentObject::fetchObject(eZPolicy::definition(), null, array('id' => $policyID), true); }