Example #1
0
 public function getFolderAccess()
 {
     $obj = new stdClass();
     $obj->count = 0;
     $obj->names = array();
     $obj->paths = array();
     $o = $this->data->get("folders", array());
     foreach ($o as $key => $mdo) {
         if (MRights::can("use", (int) $key)) {
             $obj->count++;
             $path = $mdo->get("path", null);
             $name = $mdo->get("name", null);
             if (!$name) {
                 $name = basename($path);
             }
             $obj->names[$key] = $name;
             $obj->paths[$key] = $path;
         }
     }
     return $obj;
 }
Example #2
0
 /**
  * 
  * @param string $name
  * @param int $group_id
  * @param int $_group_parent_id
  * @param MDO $group_rights
  * @param int $rootFolderId
  * @return int
  */
 protected function checkRule($name = "use", $group_id = null, $_group_parent_id = 0, &$group_rights = null, $rootFolderId = null)
 {
     if (!$group_id || !$group_rights || $rootFolderId === null) {
         return MRIGHTS_DISALLOW;
     }
     $rightAttribute = (int) $group_rights->get($name, MRIGHTS_DISALLOW);
     while ($rightAttribute === MRIGHTS_INHERIT) {
         if ($_group_parent_id === 0) {
             $rightAttribute = MRIGHTS_DISALLOW;
         } else {
             $parentGroup = self::$lookUpById[$_group_parent_id];
             $parentGroupId = (int) $parentGroup->get("id");
             if (self::$calcultedRights[(int) $rootFolderId]->has("_" . $parentGroupId)) {
                 $rightAttribute = self::$calcultedRights[(int) $rootFolderId]->get("_" . $parentGroupId)->get($name);
             } else {
                 $parentRights = self::$rights[(int) $rootFolderId]->get("_" . $parentGroupId);
                 $rightAttribute = $parentRights->get($name);
                 $_group_parent_id = (int) $parentGroup->get("parent_id", 0);
             }
             //EOF no calculate rights available
         }
         //EOF else parent_id is not 0
     }
     //EOF while inherit
     return (int) $rightAttribute;
 }
Example #3
0
	/**
	 * 
	 * @param MDO $data
	 * @param int $id
	 */
	public static function rootsMask($data = null, $id = -1){
		
		$disabled = _FM_IS_DEMO ? ' disabled="disabled"' : '';
		
		$c = new MContainer();
// 		$c->add('ID: '.$id);
		$c->add('<div class="mMaskHeading"><span>');
		if($id === null || $id <0){
			$c->add(MText::_("addnewroot"));
		}else{
			$c->add(MText::_("rootfolderconfig") .": ".$data->get("name") );
		}
		$c->add('</span></div><div style="padding:10px;">');
		
		$c->add('<label>'.MText::_("title").'</label>');
		$c->add('<div class="mSpacer"></div>');
		$c->add(MForms::field("name",$data->get("name"),80,'','class="mRootsTitle" '));
		$c->add($data->get("nameError", ""));
		$c->add('<div class="mSpacer"></div>');
		$c->add('<label>'.MText::_("path").'</label>');
		$c->add('<div class="mSpacer"></div>');
		$path = _FM_IS_DEMO ? MText::_("notfordemo") : $data->get("path");
		$c->add(MForms::field("path",$path ,null,'','class="mRootsPath"'. $disabled));
		$c->add($data->get("pathError", ""));
		$c->add('<div class="clr"></div>');
		$c->add('</div>');
		return self::form($c->get(),null,array("id"=>$id));
	}
Example #4
0
 public function get($name = null, $default = null)
 {
     return $this->data->get($name, $default);
 }