diff --git a/phpgwapi/inc/class.accounts_ldap.inc.php b/phpgwapi/inc/class.accounts_ldap.inc.php
index fefa749317..6eed76c97f 100644
--- a/phpgwapi/inc/class.accounts_ldap.inc.php
+++ b/phpgwapi/inc/class.accounts_ldap.inc.php
@@ -95,37 +95,57 @@
{
}
- function get_list()
- {
- global $phpgw;
-
- // get a ldap connection handle
- $ds = $phpgw->common->ldapConnect();
+ function get_list($_type='both')
+ {
+ global $phpgw;
- // search the dn for the given uid
- $sri = ldap_search($ds, $phpgw_info["server"]["ldap_context"], "uidnumber=*");
- $allValues = ldap_get_entries($ds, $sri);
-
- for ($i=0; $i<$allValues["count"]; $i++)
- {
+ $ds = $phpgw->common->ldapConnect();
- $this->db->query("select * from phpgw_accounts where account_id='" . $allValues[$i]["uidnumber"][0] . "'",__LINE__,__FILE__);
- $this->db->next_record();
-
- $accounts[] = Array(
- "account_id" => $allValues[$i]["uidnumber"][0],
- "account_lid" => $allValues[$i]["uid"][0],
- "account_type" => $this->db->f("account_type"),
- "account_firstname" => $allValues[$i]["givenname"][0],
- "account_lastname" => $allValues[$i]["sn"][0],
- "account_status" => $this->db->f("account_status")
- );
-
- #print "data".$allValues[$i]["uid"][0]."
";
+ switch($_type)
+ {
+ case 'accounts':
+ $whereclause = "where account_type = 'u'";
+ break;
+ case 'groups':
+ $whereclause = "where account_type = 'g'";
+ break;
+ default:
+ $whereclause = "";
}
-
- return $accounts;
- }
+
+ $sql = "select * from phpgw_accounts $whereclause";
+ $this->db->query($sql,__LINE__,__FILE__);
+ while ($this->db->next_record()) {
+ // get user information from ldap only, if it's a user, not a group
+ if ($this->db->f("account_type") == 'u')
+ {
+ $sri = ldap_search($ds, $phpgw_info["server"]["ldap_context"], "uidnumber=".$this->db->f("account_id"));
+ $allValues = ldap_get_entries($ds, $sri);
+ $accounts[] = Array(
+ "account_id" => $allValues[$i]["uidnumber"][0],
+ "account_lid" => $allValues[$i]["uid"][0],
+ "account_type" => $this->db->f("account_type"),
+ "account_firstname" => $allValues[$i]["givenname"][0],
+ "account_lastname" => $allValues[$i]["sn"][0],
+ "account_status" => $this->db->f("account_status")
+ );
+ }
+ else
+ {
+ $accounts[] = Array(
+ "account_id" => $this->db->f("account_id"),
+ "account_lid" => $this->db->f("account_lid"),
+ "account_type" => $this->db->f("account_type"),
+ "account_firstname" => $this->db->f("account_firstname"),
+ "account_lastname" => $this->db->f("account_lastname"),
+ "account_status" => $this->db->f("account_status")
+ );
+ }
+ }
+
+
+ return $accounts;
+ }
function name2id($account_name)
{
@@ -198,7 +218,7 @@
$sql .= "(account_id, account_lid, account_pwd, account_firstname, account_lastname, account_lastpwd_change, account_status, account_type)";
$sql .= "values (".$accountid.", '".$accountname."', '".md5($passwd)."', '".$accountname."', 'AutoCreated', ".time().", 'A','u')";
$this->db->query($sql);
- $this->db->query("insert into phpgw_preferences (preference_owner, preference_value) values ('".$accountid."', '$defaultprefs')");
+ $this->db->query("insert into preferences (preference_owner, preference_value) values ('".$accountid."', '$defaultprefs')");
$this->db->query("insert into phpgw_acl (acl_appname, acl_location, acl_account, acl_account_type, acl_rights)values('preferences', 'changepassword', ".$accountid.", 'u', 0)",__LINE__,__FILE__);
$this->db->query("insert into phpgw_acl (acl_appname, acl_location, acl_account, acl_account_type, acl_rights) values('phpgw_group', '1', ".$accountid.", 'u', 1)",__LINE__,__FILE__);
$this->db->query("insert into phpgw_acl (acl_appname, acl_location, acl_account, acl_account_type, acl_rights) values('addressbook', 'run', ".$accountid.", 'u', 1)",__LINE__,__FILE__);
diff --git a/phpgwapi/inc/class.accounts_sql.inc.php b/phpgwapi/inc/class.accounts_sql.inc.php
index 5d681eb52d..5d2de73bd3 100644
--- a/phpgwapi/inc/class.accounts_sql.inc.php
+++ b/phpgwapi/inc/class.accounts_sql.inc.php
@@ -59,22 +59,36 @@
return $this->data;
}
- function get_list()
- {
- global $phpgw, $phpgw_info;
- $sql = "select * from phpgw_accounts";
- $this->db->query($sql,__LINE__,__FILE__);
- while ($this->db->next_record()) {
- $accounts[] = Array("account_id" => $this->db->f("account_id"),
- "account_lid" => $this->db->f("account_lid"),
- "account_type" => $this->db->f("account_type"),
- "account_firstname" => $this->db->f("account_firstname"),
- "account_lastname" => $this->db->f("account_lastname"),
- "account_status" => $this->db->f("account_status")
- );
- }
- return $accounts;
- }
+ function get_list($_type='both')
+ {
+ global $phpgw, $phpgw_info;
+
+ switch($_type)
+ {
+ case 'accounts':
+ $whereclause = "where account_type = 'u'";
+ break;
+ case 'groups':
+ $whereclause = "where account_type = 'g'";
+ break;
+ default:
+ $whereclause = "";
+ }
+
+ $sql = "select * from phpgw_accounts $whereclause";
+ $this->db->query($sql,__LINE__,__FILE__);
+ while ($this->db->next_record()) {
+ $accounts[] = Array(
+ "account_id" => $this->db->f("account_id"),
+ "account_lid" => $this->db->f("account_lid"),
+ "account_type" => $this->db->f("account_type"),
+ "account_firstname" => $this->db->f("account_firstname"),
+ "account_lastname" => $this->db->f("account_lastname"),
+ "account_status" => $this->db->f("account_status")
+ );
+ }
+ return $accounts;
+ }
function name2id($account_name)
{
@@ -141,7 +155,7 @@
$sql .= "(account_id, account_lid, account_type, account_pwd, account_firstname, account_lastname, account_lastpwd_change, account_status)";
$sql .= "values (".$accountid.", '".$accountname."','u', '".md5($passwd)."', '".$accountname."', 'AutoCreated', ".time().", 'A')";
$this->db->query($sql);
- $this->db->query("insert into phpgw_preferences (preference_owner, preference_value) values ('".$accountid."', '$default_prefs')");
+ $this->db->query("insert into preferences (preference_owner, preference_value) values ('".$accountid."', '$default_prefs')");
$this->db->query("insert into phpgw_acl (acl_appname, acl_location, acl_account, acl_rights)values('preferences', 'changepassword', ".$accountid.", 'u', 0)",__LINE__,__FILE__);
$this->db->query("insert into phpgw_acl (acl_appname, acl_location, acl_account, acl_rights) values('phpgw_group', '1', ".$accountid.", 'u', 1)",__LINE__,__FILE__);
$this->db->query("insert into phpgw_acl (acl_appname, acl_location, acl_account, acl_rights) values('addressbook', 'run', ".$accountid.", 'u', 1)",__LINE__,__FILE__);
diff --git a/phpgwapi/inc/class.graphics.inc.php b/phpgwapi/inc/class.graphics.inc.php
index 86fd485200..450457e793 100644
--- a/phpgwapi/inc/class.graphics.inc.php
+++ b/phpgwapi/inc/class.graphics.inc.php
@@ -28,7 +28,7 @@ class graphics
// put a valid font here
var $font="/opt/future-project/src/management-server/ttf/arial.ttf";
- function createButton($_text, $_fontsize=11)
+ function createImage($_text, $_fontsize=11)
{
// create filename
$filename="button_".md5($_text).".png";
@@ -55,4 +55,17 @@ class graphics
return $filename;
}
+
+ function createInputButton($_text, $_name, $_mode='graphic')
+ {
+ if ($_mode == 'graphic' && extension_loaded("gd"))
+ {
+ return '';
+ }
+ else
+ {
+ return '';
+ }
+ }
+
}