Пример #1
0
 /**
  * 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");
     }
 }