⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 browseutil.inc.php.svn-base

📁 PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
                }                if (!KTPermissionUtil::userHasPermissionOnItem($oUser, 'ktcore.permissions.folder_details', $oThisFolder)) {                    if (KTBrowseUtil::inAdminMode($oUser, $oThisFolder)) {                        $aBreadcrumbs[] = array('url' => $url, 'name' => sprintf('(%s)', $sFolderName));                    } else {                        $aBreadcrumbs[] = array('name' => '...');                    }                    continue;                }                $aBreadcrumbs[] = array('url' => $url, 'name' => $sFolderName);            }        }        // now add this folder, _if we aren't in 1_.        if ($oFolder->getId() != 1) {            $id = $oFolder->getId();            $url = KTUtil::addQueryStringSelf('fFolderId=' . $id);            if (!empty($sAction)) {                $url = generateControllerUrl($sAction, 'fFolderId=' . $id);            }            if (!KTPermissionUtil::userHasPermissionOnItem($oUser, 'ktcore.permissions.folder_details', $oFolder)) {                if (KTBrowseUtil::inAdminMode($oUser, $oFolder)) {                    $aBreadcrumbs[] = array('url' => $url, 'name' => sprintf('(%s)', $oFolder->getName()));                } else {                    $aBreadcrumbs[] = array('name' => '...');                }            } else if ($bFinal) {                $aBreadcrumbs[] = array('name' => $oFolder->getName());            } else {                $aBreadcrumbs[] = array('url' => $url, 'name' => $oFolder->getName());            }        }        $aCompactBreadcrumbs = array();        $lastdotdotdot = false;        foreach ($aBreadcrumbs as $aBreadcrumb) {            if ($aBreadcrumb['name'] == '...') {                if ($lastdotdotdot == true) {                    continue;                }                $lastdotdotdot = true;            } else {                $lastdotdotdot = false;            }            $aCompactBreadcrumbs[] = $aBreadcrumb;        }        return $aCompactBreadcrumbs;    }    // }}}    // {{{ breadcrumbsForDocument    function breadcrumbsForDocument($oDocument, $aOptions = null, $iFolderId = null) {        $bFinal = KTUtil::arrayGet($aOptions, 'final', true, false);        $aOptions = KTUtil::meldOptions($aOptions, array(            'final' => false,        ));        if($iFolderId == null){       	 	$iFolderId = $oDocument->getFolderId();        }        $aBreadcrumbs = KTBrowseUtil::breadcrumbsForFolder($iFolderId, $aOptions);        $sAction = KTUtil::arrayGet($aOptions, 'documentaction');        $url = KTUtil::addQueryStringSelf('fDocumentId=' . $oDocument->getId());        if (!empty($sAction)) {            $url = generateControllerUrl($sAction, 'fDocumentId=' .  $oDocument->getId());        }        if ($bFinal) {            $aBreadcrumbs[] = array('name' => $oDocument->getName());        } else {            $aBreadcrumbs[] = array('url' => $url, 'name' => $oDocument->getName());        }        return $aBreadcrumbs;    }    // }}}    // {{{ getUrlForFolder    function getUrlForFolder($oFolder) {        $iFolderId = KTUtil::getId($oFolder);        $sExt = '.php';        if (KTUtil::arrayGet($_SERVER, 'kt_no_extensions')) {            $sExt = '';        }        return sprintf('%s/browse%s?fFolderId=%d', $GLOBALS['KTRootUrl'], $sExt, $iFolderId);    }    // }}}    // {{{ getUrlForDocument    function getUrlForDocument($oDocument) {        $iDocumentId = KTUtil::getId($oDocument);        $sExt = '.php';        if (KTUtil::arrayGet($_SERVER, 'kt_no_extensions')) {            $sExt = '';        }        return sprintf('%s/view%s?fDocumentId=%d', $GLOBALS['KTRootUrl'], $sExt, $iDocumentId);    }    // }}}    function buildBaseUrl($sPage) {        $sExt = '.php';        if (KTUtil::arrayGet($_SERVER, 'kt_no_extensions')) {            $sExt = '';        }        return sprintf('%s/%s%s', $GLOBALS['KTRootUrl'], $sPage, $sExt);    }    // }}}    // {{{ getBrowseBaseUrl    function getBrowseBaseUrl() {        return KTBrowseUtil::buildBaseUrl('browse');    }    // }}}    // {{{ getViewBaseUrl    function getViewBaseUrl() {        return KTBrowseUtil::buildBaseUrl('view');    }    // }}}    // {{{ getActionBaseUrl    function getActionBaseUrl() {        return KTBrowseUtil::buildBaseUrl('action');    }    // }}}    function getSimpleSearchBaseUrl() {        return KTBrowseUtil::buildBaseUrl('search/simpleSearch');    }    function getBooleanSearchBaseUrl() {        return KTBrowseUtil::buildBaseUrl('search/booleanSearch');    }    function getSearchResultURL() {        return KTBrowseUtil::buildBaseUrl('search2');    }    // {{{ inAdminMode    /**     * Determines whether the user is in administrator mode, including     * whether the user is in the unit for which it is unit     * administrator.     */    function inAdminMode($oUser, $oFolder) {        if (KTUtil::arrayGet($_SESSION, 'adminmode', false) !== true) {            return false;        }        if (Permission::userIsSystemAdministrator($oUser)) {            return true;        }        return Permission::isUnitAdministratorForFolder($oUser, $oFolder);    }    // }}}    // {{{ getBrowseableFolders    /**     * Finds folders that aren't reachable by the user but to which the     * user has read permissions.     *     * Returns an array of Folder objects.     */    function getBrowseableFolders($oUser) {        $aPermissionDescriptors = KTPermissionUtil::getPermissionDescriptorsForUser($oUser);        if (empty($aPermissionDescriptors)) {            return array();        }        $sPermissionDescriptors = DBUtil::paramArray($aPermissionDescriptors);        $oPermission = KTPermission::getByName('ktcore.permissions.read');        $oPermission2 = KTPermission::getByName('ktcore.permissions.folder_details');        $aPermissionIds = array($oPermission->getId(), $oPermission->getId(), $oPermission2->getId(), $oPermission2->getId());        $sFoldersTable = KTUtil::getTableName('folders');        $sPLTable = KTUtil::getTableName('permission_lookups');        $sPLATable = KTUtil::getTableName('permission_lookup_assignments');        $sQuery = "SELECT DISTINCT F.id AS id FROM            $sFoldersTable AS F                LEFT JOIN $sPLTable AS PL ON F.permission_lookup_id = PL.id                LEFT JOIN $sPLATable AS PLA ON PLA.permission_lookup_id = PL.id AND (PLA.permission_id = ? || PLA.permission_id = ?)            LEFT JOIN $sFoldersTable AS F2 ON F.parent_id = F2.id                LEFT JOIN $sPLTable AS PL2 ON F2.permission_lookup_id = PL2.id                LEFT JOIN $sPLATable AS PLA2 ON PLA2.permission_lookup_id = PL2.id AND (PLA2.permission_id = ? || PLA.permission_id = ?)            WHERE                PLA.permission_descriptor_id IN ($sPermissionDescriptors)                AND F2.id <> 1                AND NOT (PLA2.permission_descriptor_id IN ($sPermissionDescriptors))";        $aParams = kt_array_merge($aPermissionIds, $aPermissionDescriptors, $aPermissionDescriptors);        $res = DBUtil::getResultArrayKey(array($sQuery, $aParams), 'id');        if (PEAR::isError($res)) {            return $res;        }        $aFolders = array();        foreach ($res as $iFolderId) {            $aFolders[] = Folder::get($iFolderId);        }        return $aFolders;    }    // }}}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -