mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-30 17:58:39 +01:00
Add read_last_entry function, used for when adding records
This commit is contained in:
parent
25c347227b
commit
1e23bb9861
@ -119,8 +119,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// send this the id and whatever fields you want to see
|
// send this the id and whatever fields you want to see
|
||||||
function read_single_entry($id,$fields)
|
function read_single_entry($id,$fields="")
|
||||||
{
|
{
|
||||||
|
if (!$fields || empty($fields)) { $fields = $this->stock_contact_fields; }
|
||||||
list($stock_fields,$stock_fieldnames,$extra_fields) =
|
list($stock_fields,$stock_fieldnames,$extra_fields) =
|
||||||
$this->split_stock_and_extras($fields);
|
$this->split_stock_and_extras($fields);
|
||||||
|
|
||||||
@ -156,11 +157,56 @@
|
|||||||
return $return_fields;
|
return $return_fields;
|
||||||
}
|
}
|
||||||
|
|
||||||
// send this the range,query,sort,order
|
function read_last_entry($fields="")
|
||||||
// and whatever fields you want to see
|
{
|
||||||
function read($start,$offset,$fields=array(),$query="",$filter="",$sort="",$order="",$rights="")
|
if (!$fields || empty($fields)) { $fields = $this->stock_contact_fields; }
|
||||||
|
list($stock_fields,$stock_fieldnames,$extra_fields) =
|
||||||
|
$this->split_stock_and_extras($fields);
|
||||||
|
|
||||||
|
if (count($stock_fieldnames)) {
|
||||||
|
$t_fields = "," . implode(",",$stock_fieldnames);
|
||||||
|
if ($t_fields == ",") {
|
||||||
|
unset($t_fields);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->db2 = $this->db;
|
||||||
|
|
||||||
|
$this->db->query("select max(id) from $this->std_table");
|
||||||
|
$this->db->next_record();
|
||||||
|
|
||||||
|
$id = $this->db->f("max(id)");
|
||||||
|
|
||||||
|
$this->db->query("select id,lid,tid,owner $t_fields from $this->std_table WHERE id='$id'");
|
||||||
|
$this->db->next_record();
|
||||||
|
|
||||||
|
$return_fields[0]["id"] = $this->db->f("id"); // unique id
|
||||||
|
$return_fields[0]["lid"] = $this->db->f("lid"); // lid for group/account records
|
||||||
|
$return_fields[0]["tid"] = $this->db->f("tid"); // type id (g/u) for groups/accounts
|
||||||
|
$return_fields[0]["owner"] = $this->db->f("owner"); // id of owner/parent for the record
|
||||||
|
if (gettype($stock_fieldnames) == "array") {
|
||||||
|
while (list($f_name) = each($stock_fieldnames)) {
|
||||||
|
$return_fields[0][$f_name] = $this->db->f($f_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->db2->query("select contact_name,contact_value from $this->ext_table where contact_id='" . $this->db->f("id") . "'",__LINE__,__FILE__);
|
||||||
|
while ($this->db2->next_record()) {
|
||||||
|
// If its not in the list to be returned, don't return it.
|
||||||
|
// This is still quicker then 5(+) separate queries
|
||||||
|
if ($extra_fields[$this->db2->f("contact_name")]) {
|
||||||
|
$return_fields[0][$this->db2->f("contact_name")] = $this->db2->f("contact_value");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $return_fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// send this the range, query, sort, order and whatever fields you want to see
|
||||||
|
// 'rights' is unused at this time
|
||||||
|
function read($start,$offset,$fields="",$query="",$filter="",$sort="",$order="",$rights="")
|
||||||
{
|
{
|
||||||
global $phpgw,$phpgw_info;
|
global $phpgw,$phpgw_info;
|
||||||
|
if (!$fields || empty($fields)) { $fields = $this->stock_contact_fields; }
|
||||||
$DEBUG = 1;
|
$DEBUG = 1;
|
||||||
|
|
||||||
list($stock_fields,$stock_fieldnames,$extra_fields) = $this->split_stock_and_extras($fields);
|
list($stock_fields,$stock_fieldnames,$extra_fields) = $this->split_stock_and_extras($fields);
|
||||||
|
@ -99,28 +99,35 @@
|
|||||||
|
|
||||||
function addressbook_read_entry($id,$fields,$userid="") {
|
function addressbook_read_entry($id,$fields,$userid="") {
|
||||||
global $this,$rights;
|
global $this,$rights;
|
||||||
//if ($rights & PHPGW_ACL_READ) {
|
if ($rights & PHPGW_ACL_READ) {
|
||||||
$entry = $this->read_single_entry($id,$fields);
|
$entry = $this->read_single_entry($id,$fields);
|
||||||
return $entry;
|
return $entry;
|
||||||
//} else {
|
} else {
|
||||||
// return "No access";
|
$rtrn = array("No access" => "No access");
|
||||||
//}
|
return $rtrn;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function addressbook_add_entry($userid,$fields) {
|
function addressbook_add_entry($userid,$fields) {
|
||||||
global $this,$rights;
|
global $this,$rights;
|
||||||
//if ($rights & PHPGW_ACL_ADD) {
|
if ($rights & PHPGW_ACL_ADD) {
|
||||||
$this->add($userid,$fields);
|
$this->add($userid,$fields);
|
||||||
//}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function addressbook_get_lastid() {
|
||||||
|
global $this;
|
||||||
|
$entry = $this->read_last_entry();
|
||||||
|
$ab_id = $entry[0]["id"];
|
||||||
|
return $ab_id;
|
||||||
|
}
|
||||||
|
|
||||||
function addressbook_update_entry($id,$userid,$fields) {
|
function addressbook_update_entry($id,$userid,$fields) {
|
||||||
global $this,$rights;
|
global $this,$rights;
|
||||||
//$rights = $phpgw->acl->get_rights($owner,$phpgw_info["flags"]["currentapp"]);
|
if ($rights & PHPGW_ACL_EDIT) {
|
||||||
//if ($rights & PHPGW_ACL_EDIT) {
|
|
||||||
$this->update($id,$userid,$fields);
|
$this->update($id,$userid,$fields);
|
||||||
//}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user