예제 #1
0
/**
 * this function returns the entity field name for a given module; for e.g. for Contacts module it return concat(lastname, ' ', firstname)
 * @param string $module - the module name
 * @return string $fieldsname - the entity field name for the module
 */
function getEntityField($module)
{
    return Vtiger_Functions::getEntityModuleSQLColumnString($module);
}
예제 #2
0
 /**
  * Function to get the users based on Roles
  * @param type $roles
  * @return <array>
  */
 public function getAllUsersOnRoles($roles)
 {
     $db = PearDatabase::getInstance();
     $roleIds = array();
     foreach ($roles as $key => $role) {
         $roleIds[] = $role->getId();
     }
     if (empty($roleIds)) {
         return array();
     }
     $sql = 'SELECT userid FROM vtiger_user2role WHERE roleid IN (' . generateQuestionMarks($roleIds) . ')';
     $result = $db->pquery($sql, $roleIds);
     $noOfUsers = $db->num_rows($result);
     $userIds = array();
     $subUsers = array();
     if ($noOfUsers > 0) {
         for ($i = 0; $i < $noOfUsers; ++$i) {
             $userIds[] = $db->query_result($result, $i, 'userid');
         }
         $entityData = Vtiger_Functions::getEntityModuleSQLColumnString('Users');
         $query = 'SELECT id, ' . $entityData['colums'] . ' FROM vtiger_users WHERE status = ? AND id IN (' . generateQuestionMarks($userIds) . ')';
         $query .= ' order by last_name ASC, first_name ASC';
         $result = $db->pquery($query, array('ACTIVE', $userIds));
         while ($row = $db->fetch_array($result)) {
             $colums = [];
             foreach (explode(',', $entityData['fieldname']) as $fieldname) {
                 $colums[] = $row[$fieldname];
             }
             $subUsers[$row['id']] = implode(' ', $colums);
         }
     }
     return $subUsers;
 }
예제 #3
0
 public static function getUserName($id)
 {
     $adb = PearDatabase::getInstance();
     if (!isset(self::$userIdNameCache[$id])) {
         $userModuleInfo = Vtiger_Functions::getEntityModuleSQLColumnString('Users');
         $result = $adb->query('SELECT id,' . $userModuleInfo['colums'] . ' FROM vtiger_users');
         while ($row = $adb->getRow($result)) {
             $userid = $row['id'];
             unset($row['id']);
             self::$userIdNameCache[$userid] = trim(implode(' ', $row));
         }
     }
     return isset(self::$userIdNameCache[$id]) ? self::$userIdNameCache[$id] : false;
 }