/** * @param class_model|class_module_mediamanager_repo|class_module_mediamanager_file $objListEntry * @return array */ protected function renderAdditionalActions(class_model $objListEntry) { if ($objListEntry instanceof class_module_mediamanager_repo && $objListEntry->rightView()) { return array($this->objToolkit->listButton(class_link::getLinkAdmin($this->getArrModule("modul"), "openFolder", "&sync=true&systemid=" . $objListEntry->getSystemid(), "", $this->getLang("action_open_folder"), "icon_folderActionOpen"))); } else { if ($objListEntry instanceof class_module_mediamanager_file && $objListEntry->getIntType() == class_module_mediamanager_file::$INT_TYPE_FOLDER && $objListEntry->rightView()) { return array($this->objToolkit->listButton(class_link::getLinkAdmin($this->getArrModule("modul"), "openFolder", "&systemid=" . $objListEntry->getSystemid(), "", $this->getLang("action_open_folder"), "icon_folderActionOpen"))); } else { if ($objListEntry instanceof class_module_mediamanager_file && $objListEntry->getIntType() == class_module_mediamanager_file::$INT_TYPE_FILE) { $arrReturn = array(); //add a crop icon? $arrMime = $this->objToolkit->mimeType($objListEntry->getStrFilename()); if (($arrMime[1] == "jpg" || $arrMime[1] == "png" || $arrMime[1] == "gif") && $objListEntry->rightEdit()) { $arrReturn[] = $this->objToolkit->listButton(class_link::getLinkAdminDialog($this->getArrModule("modul"), "imageDetails", "&file=" . $objListEntry->getStrFilename(), "", $this->getLang("action_edit_image"), "icon_crop", $objListEntry->getStrDisplayName())); } if ($objListEntry->rightRight2()) { $arrReturn[] = $this->objToolkit->listButton(class_link::getLinkAdminManual("href='" . _webpath_ . "/download.php?systemid=" . $objListEntry->getSystemid() . "'", $this->getLang("action_download"), $this->getLang("action_download"), "icon_downloads")); } return $arrReturn; } } } return array(); }
/** * Validates a set of permissions for a single object. * The string of permissions is a comma-separated list, whereas the entries may be one of * view, edit, delete, right, right1, right2, right3, right4, right5 * If at least a single permission is given, true is returned, otherwise false. * * @param string $strPermissions * @param class_model $objObject * * @return bool * @throws class_exception * @since 4.0 */ public function validatePermissionString($strPermissions, class_model $objObject) { if (!$objObject instanceof class_model) { throw new class_exception("automated permission-check only for instances of class_model", class_exception::$level_ERROR); } if (trim($strPermissions) == "") { return false; } $arrPermissions = explode(",", $strPermissions); foreach ($arrPermissions as $strOnePermissions) { $strOnePermissions = trim($strOnePermissions); switch (trim($strOnePermissions)) { case self::$STR_RIGHT_VIEW: if ($objObject->rightView()) { return true; } break; case self::$STR_RIGHT_EDIT: if ($objObject->rightEdit()) { return true; } break; case self::$STR_RIGHT_DELETE: if ($objObject->rightDelete()) { return true; } break; case self::$STR_RIGHT_RIGHT: if ($objObject->rightRight()) { return true; } break; case self::$STR_RIGHT_RIGHT1: if ($objObject->rightRight1()) { return true; } break; case self::$STR_RIGHT_RIGHT2: if ($objObject->rightRight2()) { return true; } break; case self::$STR_RIGHT_RIGHT3: if ($objObject->rightRight3()) { return true; } break; case self::$STR_RIGHT_RIGHT4: if ($objObject->rightRight4()) { return true; } break; case self::$STR_RIGHT_RIGHT5: if ($objObject->rightRight5()) { return true; } break; case self::$STR_RIGHT_CHANGELOG: if ($objObject->rightChangelog()) { return true; } break; default: break; } } return false; }