Hi,
we developed a application using php with zend framework..
i have a acl file and has some code..
i have same lot of code like this..here i am sending function name and getting from database and i am giving permitions to the users.Code:$Details = $oRole->getDetailsByName("KLIENT_UTSKRIVNING"); if($Details->Return2==1) $this->allow(self::TYPE_STAFF, 'student-index-discharge'); $Details = $oRole->getDetailsByName("KLIENT_SKOLA"); if($Details->Return2==1) $this->allow(self::TYPE_STAFF, 'student-index-school');
and another file called role.php i have a code.
my prob is if i click on any module every time query runs and getting the data from data base..so that my application is getting slow..Code:public function getDetailsByName($a_sName) { $oSystemFunction = new Function_Model_DbTable_Systemfunction(); $FunctionGuid = $oSystemFunction->getFunctionGuidByName($a_sName); if($iReturn = $this->Organization($FunctionGuid->Guid)){ $oRoleFunction = new Role_Model_DbTable_RoleFunction(); $iReturn = "0"; $iReturn1 = "0"; $iReturn2 = "0"; $iReturn3 = "0"; foreach ($this->checkRolesByUser() as $oRole) { $aRightRoles = $oRoleFunction->getRoleRights($oRole->RoleGuid, $FunctionGuid->Guid); foreach ($aRightRoles as $oRightRole) { if ($oRightRole->ReadRight == 1) $iReturn = $oRightRole->ReadRight; if ($oRightRole->CreateRight == 1) $iReturn1 = $oRightRole->CreateRight; if ($oRightRole->UpdateRight == 1) $iReturn2 = $oRightRole->UpdateRight; if ($oRightRole->DeleteRight == 1) $iReturn3 = $oRightRole->DeleteRight; } } } $Details = array(); $Details = (object) $Details; $Details->FunctionGuid = $FunctionGuid->Guid; $Details->Return = $iReturn; $Details->Return1 = $iReturn1; $Details->Return2 = $iReturn2; $Details->Return3 = $iReturn3; return $Details; }
so what is the alternate way and how to do it?
Help me out thanks in advance..
Regards
kiran



Reply With Quote

Bookmarks