/** * Enable tool for module. * @param Vtiger_Module Instance of module to use * @param String Tool (action name) like Import, Export, Merge * @param Boolean true to enable tool, false to disable * @param Integer (optional) profile id to use, false applies to all profile. * @access private */ static function updateTool($moduleInstance, $toolAction, $flag, $profileid = false) { global $adb; $result = $adb->pquery("SELECT actionid FROM vtiger_actionmapping WHERE actionname=?", array($toolAction)); if ($adb->num_rows($result)) { $actionid = $adb->query_result($result, 0, 'actionid'); $permission = $flag == true ? '0' : '1'; $profileids = array(); if ($profileid) { $profileids[] = $profileid; } else { $profileids = Vtiger_Profile::getAllIds(); } self::log(($flag ? 'Enabling' : 'Disabling') . " {$toolAction} for Profile [", false); foreach ($profileids as $useprofileid) { $result = $adb->pquery("SELECT permission FROM vtiger_profile2utility WHERE profileid=? AND tabid=? AND activityid=?", array($useprofileid, $moduleInstance->id, $actionid)); if ($adb->num_rows($result)) { $curpermission = $adb->query_result($result, 0, 'permission'); if ($curpermission != $permission) { $adb->pquery("UPDATE vtiger_profile2utility set permission=? WHERE profileid=? AND tabid=? AND activityid=?", array($permission, $useprofileid, $moduleInstance->id, $actionid)); } } else { $adb->pquery("INSERT INTO vtiger_profile2utility (profileid, tabid, activityid, permission) VALUES(?,?,?,?)", array($useprofileid, $moduleInstance->id, $actionid, $permission)); } self::log("{$useprofileid},", false); } self::log("] ... DONE"); } }