本文整理汇总了PHP中VTCacheUtils::lookupRoleSubordinates方法的典型用法代码示例。如果您正苦于以下问题:PHP VTCacheUtils::lookupRoleSubordinates方法的具体用法?PHP VTCacheUtils::lookupRoleSubordinates怎么用?PHP VTCacheUtils::lookupRoleSubordinates使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VTCacheUtils
的用法示例。
在下文中一共展示了VTCacheUtils::lookupRoleSubordinates方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getRoleSubordinates
/** To retreive the subordinate vtiger_roles of the specified parent vtiger_role
* @param $roleid -- The Role Id:: Type varchar
* @returns subordinate vtiger_role array in the following format:
* $subordinateRoleArray=(roleid1,roleid2,.......,roleidn);
*/
function getRoleSubordinates($roleId)
{
$log = vglobal('log');
$log->debug("Entering getRoleSubordinates(" . $roleId . ") method ...");
// Look at cache first for information
$roleSubordinates = VTCacheUtils::lookupRoleSubordinates($roleId);
if ($roleSubordinates === false) {
$adb = PearDatabase::getInstance();
$roleDetails = getRoleInformation($roleId);
$roleParentSeq = $roleDetails['parentrole'];
$query = "select * from vtiger_role where parentrole like ? order by parentrole asc";
$result = $adb->pquery($query, array($roleParentSeq . "::%"));
$num_rows = $adb->num_rows($result);
$roleSubordinates = array();
for ($i = 0; $i < $num_rows; $i++) {
$roleid = $adb->query_result($result, $i, 'roleid');
$roleSubordinates[] = $roleid;
}
// Update cache for re-use
VTCacheUtils::updateRoleSubordinates($roleId, $roleSubordinates);
}
$log->debug("Exiting getRoleSubordinates method ...");
return $roleSubordinates;
}