/**
  * @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();
 }
Example #2
0
 /**
  * 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;
 }