示例#1
0
 /** to get all the parent vtiger_groups of the specified group
  * @params $groupId --> Group Id :: Type Integer
  * @returns updates the parent group in the varibale $parent_groups of the class
  */
 function getAllUserGroups($userid)
 {
     $adb = PearDatabase::getInstance();
     $log = vglobal('log');
     $log->debug("Entering getAllUserGroups(" . $userid . ") method...");
     //Retreiving from the user2grouptable
     $query = "select * from vtiger_users2group where userid=?";
     $result = $adb->pquery($query, array($userid));
     $num_rows = $adb->num_rows($result);
     for ($i = 0; $i < $num_rows; $i++) {
         $now_group_id = $adb->query_result($result, $i, 'groupid');
         if (!in_array($now_group_id, $this->user_groups)) {
             $this->user_groups[] = $now_group_id;
         }
     }
     //Setting the User Role
     $userRole = fetchUserRole($userid);
     //Retreiving from the vtiger_user2role
     $query = "select * from vtiger_group2role where roleid=?";
     $result = $adb->pquery($query, array($userRole));
     $num_rows = $adb->num_rows($result);
     for ($i = 0; $i < $num_rows; $i++) {
         $now_group_id = $adb->query_result($result, $i, 'groupid');
         if (!in_array($now_group_id, $this->user_groups)) {
             $this->user_groups[] = $now_group_id;
         }
     }
     //Retreiving from the user2rs
     $parentRoles = getParentRole($userRole);
     $parentRolelist = array();
     foreach ($parentRoles as $par_rol_id) {
         array_push($parentRolelist, $par_rol_id);
     }
     array_push($parentRolelist, $userRole);
     $query = "select * from vtiger_group2rs where roleandsubid in (" . generateQuestionMarks($parentRolelist) . ")";
     $result = $adb->pquery($query, array($parentRolelist));
     $num_rows = $adb->num_rows($result);
     for ($i = 0; $i < $num_rows; $i++) {
         $now_group_id = $adb->query_result($result, $i, 'groupid');
         if (!in_array($now_group_id, $this->user_groups)) {
             $this->user_groups[] = $now_group_id;
         }
     }
     foreach ($this->user_groups as $grp_id) {
         $focus = new GetParentGroups();
         $focus->getAllParentGroups($grp_id);
         foreach ($focus->parent_groups as $par_grp_id) {
             if (!in_array($par_grp_id, $this->user_groups)) {
                 $this->user_groups[] = $par_grp_id;
             }
         }
     }
     $log->debug("Exiting getAllUserGroups method...");
 }
require_once 'include/utils/utils.php';
global $adb;
global $theme;
$theme_path = "themes/" . $theme . "/";
$image_path = $theme_path . "images/";
$smarty = new vtigerCRM_Smarty();
$Err_msg;
$parentGroupArray = array();
if (isset($_REQUEST['groupId']) && $_REQUEST['groupId'] != '') {
    $mode = 'edit';
    $groupId = vtlib_purify($_REQUEST['groupId']);
    $groupInfo = getGroupInfo($groupId);
    require_once 'include/utils/GetParentGroups.php';
    $parGroups = new GetParentGroups();
    $parGroups->parent_groups[] = $groupId;
    $parGroups->getAllParentGroups($groupId);
    $parentGroupArray = $parGroups->parent_groups;
} else {
    $mode = 'create';
    if (isset($_REQUEST['error']) && $_REQUEST['error'] == 'true') {
        $Err_msg = "<center><font color='red'><b>" . $mod_strings['LBL_GROUP_NAME_ERROR'] . "</b></font></center>";
        $groupInfo[] = vtlib_purify($_REQUEST['groupname']);
        $groupInfo[] = vtlib_purify($_REQUEST['desc']);
    }
}
//Constructing the Role Array
$roleDetails = getAllRoleDetails();
$i = 0;
$roleIdStr = "";
$roleNameStr = "";
$userIdStr = "";