Пример #1
0
 /**
  * Returns HTML risk icons.
  *
  * @return string
  */
 protected function get_role_risks_info()
 {
     global $OUTPUT;
     if (empty($this->roleid)) {
         return '';
     }
     $risks = array();
     $allrisks = get_all_risks();
     foreach ($this->capabilities as $capability) {
         $perm = $this->permissions[$capability->name];
         if ($perm != CAP_ALLOW) {
             continue;
         }
         foreach ($allrisks as $type => $risk) {
             if ($risk & (int) $capability->riskbitmask) {
                 $risks[$type] = $risk;
             }
         }
     }
     $risksurl = new moodle_url(get_docs_url(s(get_string('risks', 'core_role'))));
     foreach ($risks as $type => $risk) {
         $pixicon = new pix_icon('/i/' . str_replace('risk', 'risk_', $type), get_string($type . 'short', 'admin'));
         $risks[$type] = $OUTPUT->action_icon($risksurl, $pixicon, new popup_action('click', $risksurl));
     }
     return implode(' ', $risks);
 }
 public function __construct($context, $id, $roleid)
 {
     parent::__construct($context, $id);
     $this->allrisks = get_all_risks();
     $this->risksurl = get_docs_url(s(get_string('risks', 'core_role')));
     $this->allpermissions = array(CAP_INHERIT => 'inherit', CAP_ALLOW => 'allow', CAP_PREVENT => 'prevent', CAP_PROHIBIT => 'prohibit');
     $this->strperms = array();
     foreach ($this->allpermissions as $permname) {
         $this->strperms[$permname] = get_string($permname, 'core_role');
     }
     $this->roleid = $roleid;
     $this->load_current_permissions();
     // Fill in any blank permissions with an explicit CAP_INHERIT, and init a locked field.
     foreach ($this->capabilities as $capid => $cap) {
         if (!isset($this->permissions[$cap->name])) {
             $this->permissions[$cap->name] = CAP_INHERIT;
         }
         $this->capabilities[$capid]->locked = false;
     }
 }
 protected function get_risks($capability)
 {
     global $OUTPUT;
     $allrisks = get_all_risks();
     $risksurl = new moodle_url(get_docs_url(s(get_string('risks', 'core_role'))));
     $return = '';
     foreach ($allrisks as $type => $risk) {
         if ($risk & (int) $capability->riskbitmask) {
             if (!isset($this->icons[$type])) {
                 $pixicon = new pix_icon('/i/' . str_replace('risk', 'risk_', $type), get_string($type . 'short', 'admin'));
                 $this->icons[$type] = $OUTPUT->action_icon($risksurl, $pixicon, new popup_action('click', $risksurl));
             }
             $return .= $this->icons[$type];
         }
     }
     return $return;
 }
Пример #4
0
 /**
  * Render all the risk icons for a capability.
  * @param stdClass $capability the information about a capability.
  * @return string the HTML to output.
  */
 protected function risk_icons($capability)
 {
     $icons = array();
     foreach (get_all_risks() as $riskname => $risk) {
         if ($risk & (int) $capability->riskbitmask) {
             $icons[] = $this->risk_icon($riskname);
         }
     }
     return implode(' ', $icons);
 }