forked from extern/egroupware
use foreach where possible vs. reset/while; Move extra loop in read() and read_single_entry() into the existing loop in sql/ldap classes.
This commit is contained in:
parent
50581de1e1
commit
f07775857e
@ -83,55 +83,6 @@
|
|||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
|
||||||
@function read_single_entry
|
|
||||||
@abstract reads one entry, reimplemented here to add the users rights / grants of the owner
|
|
||||||
@syntax read_single_entry($id,$fields='')
|
|
||||||
@param $id integer id of the contact
|
|
||||||
@param $fields array fields to read or False for all
|
|
||||||
*/
|
|
||||||
function read_single_entry($id,$fields='')
|
|
||||||
{
|
|
||||||
if(@is_array($fields))
|
|
||||||
{
|
|
||||||
$fields['owner'] = 'owner'; // we need the owner to set the rights
|
|
||||||
}
|
|
||||||
if ($entry = contacts_::read_single_entry($id,$fields))
|
|
||||||
{
|
|
||||||
$entry[0]['rights'] = (int)$this->grants[$entry[0]['owner']];
|
|
||||||
}
|
|
||||||
return $entry;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
@function read_single_entry
|
|
||||||
@abstract reads/searches for entrys, reimplemented here to add the users rights / grants of the owner
|
|
||||||
@syntax read($start=0,$limit=0,$fields='',$query='',$filter='',$sort='',$order='', $lastmod=-1)
|
|
||||||
@param $start integer first entry to read
|
|
||||||
@param $limit integer number of entrys to read, 0 for all
|
|
||||||
@param $fields array fields to read or False for all
|
|
||||||
@param $query string free query pattern
|
|
||||||
@param $filter string eg. tid=n or access=public
|
|
||||||
@param $sort string after which column/field to sort
|
|
||||||
@param $order string sort-order DESC=descending, ASC=ascending
|
|
||||||
@param $lastmod integer get only fields modified since, -1=for all
|
|
||||||
*/
|
|
||||||
function read($start=0,$limit=0,$fields='',$query='',$filter='',$sort='',$order='', $lastmod=-1,$cquery='')
|
|
||||||
{
|
|
||||||
if(@is_array($fields))
|
|
||||||
{
|
|
||||||
$fields['owner'] = 'owner'; // we need the owner to set the rights
|
|
||||||
}
|
|
||||||
if($entries = contacts_::read($start,$limit,$fields,$query,$filter,$sort,$order,$lastmod,$cquery))
|
|
||||||
{
|
|
||||||
foreach($entries as $nr => $entry)
|
|
||||||
{
|
|
||||||
$entries[$nr]['rights'] = (int)$this->grants[$entry['owner']];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $entries;
|
|
||||||
}
|
|
||||||
|
|
||||||
function split_stock_and_extras($fields)
|
function split_stock_and_extras($fields)
|
||||||
{
|
{
|
||||||
settype($fields, 'array');
|
settype($fields, 'array');
|
||||||
@ -292,99 +243,6 @@
|
|||||||
return ($sortarray);
|
return ($sortarray);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This function is deprecated, fortunately. */
|
|
||||||
function filter_ldap($ldap_fields,$filterfields,$DEBUG=0)
|
|
||||||
{
|
|
||||||
$match = 0;
|
|
||||||
if($DEBUG) { echo '<br>'; }
|
|
||||||
for($i=0;$i<count($ldap_fields);$i++)
|
|
||||||
{
|
|
||||||
$yes = True;
|
|
||||||
|
|
||||||
if ($ldap_fields[$i]['uidnumber'][0])
|
|
||||||
{
|
|
||||||
reset($filterfields);
|
|
||||||
while (list($col,$filt) = each($filterfields))
|
|
||||||
{
|
|
||||||
if ($col == 'phpgwcontactcatid')
|
|
||||||
{
|
|
||||||
$colarray = explode(',',$ldap_fields[$i][$col][0]);
|
|
||||||
if ($colarray[1])
|
|
||||||
{
|
|
||||||
while(list($key,$val) = each ($colarray))
|
|
||||||
{
|
|
||||||
if($DEBUG) { echo ' Testing "'.$col.'" for "'.$val.'"'; }
|
|
||||||
if ($val == $filt)
|
|
||||||
{
|
|
||||||
if($DEBUG) { echo ', and number '.$ldap_fields[$i]['uidnumber'][0].' matched.'.' '; }
|
|
||||||
$yes &= True;
|
|
||||||
$match++;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if($DEBUG) { echo ' Testing "'.$col.'" for "'.$filt.'"'; }
|
|
||||||
if ($ldap_fields[$i][$col][0] == $filt)
|
|
||||||
{
|
|
||||||
if($DEBUG) { echo ', and number '.$ldap_fields[$i]['uidnumber'][0].' matched.'.' '; }
|
|
||||||
$yes &= True;
|
|
||||||
$match++;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if($DEBUG) { echo ', but number '.$ldap_fields[$i]['uidnumber'][0].' did not match.'.' '; }
|
|
||||||
$yes &= False;
|
|
||||||
$match--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if($DEBUG) { echo ' Testing "'.$col.'" for "'.$filt.'"'; }
|
|
||||||
if ($ldap_fields[$i][$col][0] == $filt)
|
|
||||||
{
|
|
||||||
if($DEBUG) { echo ', and number '.$ldap_fields[$i]['uidnumber'][0].' matched.'.' '; }
|
|
||||||
$yes &= True;
|
|
||||||
$match++;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if($DEBUG) { echo ', but number '.$ldap_fields[$i]['uidnumber'][0].' did not match.'.' '; }
|
|
||||||
$yes &= False;
|
|
||||||
$match--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($yes)
|
|
||||||
{
|
|
||||||
if($DEBUG) { echo $ldap_fields[$i]['uidnumber'][0].' matched all!'.'<br>'; }
|
|
||||||
$new_ldap[] = $ldap_fields[$i];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if($DEBUG) { echo $ldap_fields[$i]['uidnumber'][0].' did not match all.'.'<br>'; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if($DEBUG)
|
|
||||||
{
|
|
||||||
if($match)
|
|
||||||
{
|
|
||||||
echo '<br>'.$match.' total matches.'."\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
echo '<br>No matches :('."\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$this->total_records = count($new_ldap);
|
|
||||||
|
|
||||||
return $new_ldap;
|
|
||||||
}
|
|
||||||
|
|
||||||
function formatted_address($id, $business = True, $afont = '', $asize = '2')
|
function formatted_address($id, $business = True, $afont = '', $asize = '2')
|
||||||
{
|
{
|
||||||
$t = CreateObject('phpgwapi.Template',$GLOBALS['phpgw']->common->get_tpl_dir('addressbook'));
|
$t = CreateObject('phpgwapi.Template',$GLOBALS['phpgw']->common->get_tpl_dir('addressbook'));
|
||||||
@ -489,8 +347,7 @@
|
|||||||
$t = CreateObject('phpgwapi.Template',$GLOBALS['phpgw']->common->get_tpl_dir('addressbook'));
|
$t = CreateObject('phpgwapi.Template',$GLOBALS['phpgw']->common->get_tpl_dir('addressbook'));
|
||||||
$s = CreateObject('phpgwapi.sbox');
|
$s = CreateObject('phpgwapi.sbox');
|
||||||
|
|
||||||
$fields = array
|
$fields = array(
|
||||||
(
|
|
||||||
'n_given' => 'n_given',
|
'n_given' => 'n_given',
|
||||||
'n_family' => 'n_family',
|
'n_family' => 'n_family',
|
||||||
'title' => 'title',
|
'title' => 'title',
|
||||||
@ -520,14 +377,14 @@
|
|||||||
$address[$k] = $GLOBALS['phpgw']->strip_html($val);
|
$address[$k] = $GLOBALS['phpgw']->strip_html($val);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($address['title'])
|
if($address['title'])
|
||||||
{
|
{
|
||||||
$title = $address['title'] . ' ';
|
$title = $address['title'] . ' ';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($business)
|
if($business)
|
||||||
{
|
{
|
||||||
if ($address['org_name'])
|
if($address['org_name'])
|
||||||
{
|
{
|
||||||
$company = $address['org_name'];
|
$company = $address['org_name'];
|
||||||
}
|
}
|
||||||
@ -556,12 +413,12 @@
|
|||||||
$email = $address['email_home'];
|
$email = $address['email_home'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $country)
|
if(!$country)
|
||||||
{
|
{
|
||||||
$country = $GLOBALS['phpgw_info']['user']['preferences']['common']['country'];
|
$country = $GLOBALS['phpgw_info']['user']['preferences']['common']['country'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file_exists(PHPGW_SERVER_ROOT . SEP . 'addressbook' . SEP . 'templates' . SEP .'default' . SEP . 'full_format_' . strtolower($country) . '.tpl'))
|
if(file_exists(PHPGW_SERVER_ROOT . SEP . 'addressbook' . SEP . 'templates' . SEP .'default' . SEP . 'full_format_' . strtolower($country) . '.tpl'))
|
||||||
{
|
{
|
||||||
$a = $t->set_file(array('address_format' => 'full_format_' . strtolower($country) . '.tpl'));
|
$a = $t->set_file(array('address_format' => 'full_format_' . strtolower($country) . '.tpl'));
|
||||||
}
|
}
|
||||||
@ -570,7 +427,7 @@
|
|||||||
$a = $t->set_file(array('address_format' => 'full_format_us.tpl'));
|
$a = $t->set_file(array('address_format' => 'full_format_us.tpl'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$afont)
|
if(!$afont)
|
||||||
{
|
{
|
||||||
$afont = $GLOBALS['phpgw_info']['theme']['font'];
|
$afont = $GLOBALS['phpgw_info']['theme']['font'];
|
||||||
}
|
}
|
||||||
@ -592,7 +449,7 @@
|
|||||||
$a .= $t->set_var('fax',$address['tel_fax']);
|
$a .= $t->set_var('fax',$address['tel_fax']);
|
||||||
$a .= $t->set_var('url',$address['url']);
|
$a .= $t->set_var('url',$address['url']);
|
||||||
|
|
||||||
if ($country != $GLOBALS['phpgw_info']['user']['preferences']['common']['country'])
|
if($country != $GLOBALS['phpgw_info']['user']['preferences']['common']['country'])
|
||||||
{
|
{
|
||||||
$countryname = $s->get_full_name($country);
|
$countryname = $s->get_full_name($country);
|
||||||
$a .= $t->set_var('country',lang($countryname));
|
$a .= $t->set_var('country',lang($countryname));
|
||||||
@ -607,8 +464,7 @@
|
|||||||
$t = CreateObject('phpgwapi.Template',$GLOBALS['phpgw']->common->get_tpl_dir('addressbook'));
|
$t = CreateObject('phpgwapi.Template',$GLOBALS['phpgw']->common->get_tpl_dir('addressbook'));
|
||||||
$s = CreateObject('phpgwapi.sbox');
|
$s = CreateObject('phpgwapi.sbox');
|
||||||
|
|
||||||
$fields = array
|
$fields = array(
|
||||||
(
|
|
||||||
'n_given' => 'n_given',
|
'n_given' => 'n_given',
|
||||||
'n_family' => 'n_family',
|
'n_family' => 'n_family',
|
||||||
'title' => 'title',
|
'title' => 'title',
|
||||||
@ -631,14 +487,14 @@
|
|||||||
$address[$k] = $GLOBALS['phpgw']->strip_html($val);
|
$address[$k] = $GLOBALS['phpgw']->strip_html($val);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($address['title'])
|
if($address['title'])
|
||||||
{
|
{
|
||||||
$title = $address['title'] . ' ';
|
$title = $address['title'] . ' ';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($business)
|
if($business)
|
||||||
{
|
{
|
||||||
if ($address['org_name'])
|
if($address['org_name'])
|
||||||
{
|
{
|
||||||
$company = $address['org_name'];
|
$company = $address['org_name'];
|
||||||
}
|
}
|
||||||
@ -663,12 +519,12 @@
|
|||||||
$country = $address['adr_two_countryname'];
|
$country = $address['adr_two_countryname'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $country)
|
if(!$country)
|
||||||
{
|
{
|
||||||
$country = $GLOBALS['phpgw_info']['user']['preferences']['common']['country'];
|
$country = $GLOBALS['phpgw_info']['user']['preferences']['common']['country'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file_exists(PHPGW_SERVER_ROOT . SEP . 'addressbook' . SEP . 'templates' . SEP .'default' . SEP . 'line_format_' . strtolower($country) . '.tpl'))
|
if(file_exists(PHPGW_SERVER_ROOT . SEP . 'addressbook' . SEP . 'templates' . SEP .'default' . SEP . 'line_format_' . strtolower($country) . '.tpl'))
|
||||||
{
|
{
|
||||||
$a = $t->set_file(array('address_format' => 'line_format_' . strtolower($country) . '.tpl'));
|
$a = $t->set_file(array('address_format' => 'line_format_' . strtolower($country) . '.tpl'));
|
||||||
}
|
}
|
||||||
@ -677,7 +533,7 @@
|
|||||||
$a = $t->set_file(array('address_format' => 'line_format_us.tpl'));
|
$a = $t->set_file(array('address_format' => 'line_format_us.tpl'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$afont)
|
if(!$afont)
|
||||||
{
|
{
|
||||||
$afont = $GLOBALS['phpgw_info']['theme']['font'];
|
$afont = $GLOBALS['phpgw_info']['theme']['font'];
|
||||||
}
|
}
|
||||||
@ -690,7 +546,7 @@
|
|||||||
$a .= $t->set_var('zip',$zip);
|
$a .= $t->set_var('zip',$zip);
|
||||||
$a .= $t->set_var('state',$state);
|
$a .= $t->set_var('state',$state);
|
||||||
|
|
||||||
if ($country != $GLOBALS['phpgw_info']['user']['preferences']['common']['country'])
|
if($country != $GLOBALS['phpgw_info']['user']['preferences']['common']['country'])
|
||||||
{
|
{
|
||||||
$countryname = $s->get_full_name($country);
|
$countryname = $s->get_full_name($country);
|
||||||
$a .= $t->set_var('country',' ° ' . lang($countryname));
|
$a .= $t->set_var('country',' ° ' . lang($countryname));
|
||||||
|
@ -168,16 +168,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 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; }
|
if(!$fields || empty($fields))
|
||||||
list($stock_fields,$stock_fieldnames,$extra_fields) =
|
{
|
||||||
$this->split_stock_and_extras($fields);
|
$fields = $this->stock_contact_fields;
|
||||||
|
}
|
||||||
|
list($stock_fields,$stock_fieldnames,$extra_fields) = $this->split_stock_and_extras($fields);
|
||||||
|
|
||||||
if (count($stock_fieldnames))
|
if(count($stock_fieldnames))
|
||||||
{
|
{
|
||||||
$t_fields = "," . implode(",",$stock_fieldnames);
|
$t_fields = ',' . implode(',',$stock_fieldnames);
|
||||||
if ($t_fields == ",")
|
if($t_fields == ',')
|
||||||
{
|
{
|
||||||
unset($t_fields);
|
unset($t_fields);
|
||||||
}
|
}
|
||||||
@ -192,9 +194,10 @@
|
|||||||
$return_fields[0]['owner'] = $ldap_fields[0]['phpgwcontactowner'][0];
|
$return_fields[0]['owner'] = $ldap_fields[0]['phpgwcontactowner'][0];
|
||||||
$return_fields[0]['access'] = $ldap_fields[0]['phpgwcontactaccess'][0];
|
$return_fields[0]['access'] = $ldap_fields[0]['phpgwcontactaccess'][0];
|
||||||
$return_fields[0]['cat_id'] = $ldap_fields[0]['phpgwcontactcatid'][0];
|
$return_fields[0]['cat_id'] = $ldap_fields[0]['phpgwcontactcatid'][0];
|
||||||
|
$return_fields[0]['rights'] = (int)$this->grants[$return_fields[0]['owner']];
|
||||||
if(@is_array($stock_fieldnames))
|
if(@is_array($stock_fieldnames))
|
||||||
{
|
{
|
||||||
while(list($name,$value)=each($stock_fieldnames))
|
foreach($stock_fieldnames as $name => $value)
|
||||||
{
|
{
|
||||||
$return_fields[0][$name] = utf8_decode($ldap_fields[0][$value][0]);
|
$return_fields[0][$name] = utf8_decode($ldap_fields[0][$value][0]);
|
||||||
}
|
}
|
||||||
@ -204,26 +207,24 @@
|
|||||||
if ($return_fields[0]['adr_one_type'])
|
if ($return_fields[0]['adr_one_type'])
|
||||||
{
|
{
|
||||||
$one_type = $return_fields[0]['adr_one_type'];
|
$one_type = $return_fields[0]['adr_one_type'];
|
||||||
reset($this->adr_types);
|
foreach($this->adr_types as $name => $val)
|
||||||
while (list($name,$val) = each($this->adr_types))
|
|
||||||
{
|
{
|
||||||
eval("if (strstr(\$one_type,\$name)) { \$return_fields[0][\"one_\$name\"] = \"on\"; }");
|
eval("if (strstr(\$one_type,\$name)) { \$return_fields[0][\"one_\$name\"] = \"on\"; }");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($return_fields[0]["adr_two_type"])
|
if($return_fields[0]['adr_two_type'])
|
||||||
{
|
{
|
||||||
$two_type = $return_fields[0]['adr_two_type'];
|
$two_type = $return_fields[0]['adr_two_type'];
|
||||||
reset($this->adr_types);
|
foreach($this->adr_types as $name => $val)
|
||||||
while (list($name,$val) = each($this->adr_types))
|
|
||||||
{
|
{
|
||||||
eval("if (strstr(\$two_type,\$name)) { \$return_fields[0][\"two_\$name\"] = \"on\"; }");
|
eval("if (strstr(\$two_type,\$name)) { \$return_fields[0][\"two_\$name\"] = \"on\"; }");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->db->query("SELECT contact_name,contact_value FROM $this->ext_table WHERE contact_id='" . $id . "'",__LINE__,__FILE__);
|
$this->db->query("SELECT contact_name,contact_value FROM $this->ext_table WHERE contact_id='" . $id . "'",__LINE__,__FILE__);
|
||||||
while ($this->db->next_record())
|
while($this->db->next_record())
|
||||||
{
|
{
|
||||||
if ($extra_fields[$this->db->f('contact_name')])
|
if($extra_fields[$this->db->f('contact_name')])
|
||||||
{
|
{
|
||||||
$return_fields[0][$this->db->f('contact_name')] = $this->db->f('contact_value');
|
$return_fields[0][$this->db->f('contact_name')] = $this->db->f('contact_value');
|
||||||
}
|
}
|
||||||
@ -233,9 +234,11 @@
|
|||||||
|
|
||||||
function read_last_entry($fields = '')
|
function read_last_entry($fields = '')
|
||||||
{
|
{
|
||||||
if (!$fields || empty($fields)) { $fields = $this->stock_contact_fields; }
|
if (!$fields || empty($fields))
|
||||||
list($stock_fields,$stock_fieldnames,$extra_fields) =
|
{
|
||||||
$this->split_stock_and_extras($fields);
|
$fields = $this->stock_contact_fields;
|
||||||
|
}
|
||||||
|
list($stock_fields,$stock_fieldnames,$extra_fields) = $this->split_stock_and_extras($fields);
|
||||||
|
|
||||||
if (count($stock_fieldnames))
|
if (count($stock_fieldnames))
|
||||||
{
|
{
|
||||||
@ -258,39 +261,38 @@
|
|||||||
$return_fields[0]['owner'] = $ldap_fields[0]['phpgwcontactowner'][0];
|
$return_fields[0]['owner'] = $ldap_fields[0]['phpgwcontactowner'][0];
|
||||||
$return_fields[0]['access'] = $ldap_fields[0]['phpgwcontactaccess'][0];
|
$return_fields[0]['access'] = $ldap_fields[0]['phpgwcontactaccess'][0];
|
||||||
$return_fields[0]['cat_id'] = $ldap_fields[0]['phpgwcontactcatid'][0];
|
$return_fields[0]['cat_id'] = $ldap_fields[0]['phpgwcontactcatid'][0];
|
||||||
|
$return_fields[0]['rights'] = (int)$this->grants[$return_fields[0]['owner']];
|
||||||
|
|
||||||
if(@is_array($stock_fieldnames))
|
if(@is_array($stock_fieldnames))
|
||||||
{
|
{
|
||||||
while(list($name,$value)=each($stock_fieldnames))
|
foreach($stock_fieldnames as $name => $value)
|
||||||
{
|
{
|
||||||
$return_fields[0][$name] = utf8_decode($ldap_fields[0][$value][0]);
|
$return_fields[0][$name] = utf8_decode($ldap_fields[0][$value][0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Setup address type fields */
|
/* Setup address type fields */
|
||||||
if ($return_fields[0]['adr_one_type'])
|
if($return_fields[0]['adr_one_type'])
|
||||||
{
|
{
|
||||||
$one_type = $return_fields[0]['adr_one_type'];
|
$one_type = $return_fields[0]['adr_one_type'];
|
||||||
reset($this->adr_types);
|
foreach($this->adr_types as $name => $val)
|
||||||
while (list($name,$val) = each($this->adr_types))
|
|
||||||
{
|
{
|
||||||
eval("if (strstr(\$one_type,\$name)) { \$return_fields[0][\"one_\$name\"] = \"on\"; }");
|
eval("if (strstr(\$one_type,\$name)) { \$return_fields[0][\"one_\$name\"] = \"on\"; }");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($return_fields[0]['adr_two_type'])
|
if($return_fields[0]['adr_two_type'])
|
||||||
{
|
{
|
||||||
$two_type = $return_fields[0]['adr_two_type'];
|
$two_type = $return_fields[0]['adr_two_type'];
|
||||||
reset($this->adr_types);
|
foreach($this->adr_types as $name => $val)
|
||||||
while (list($name,$val) = each($this->adr_types))
|
|
||||||
{
|
{
|
||||||
eval("if (strstr(\$two_type,\$name)) { \$return_fields[0][\"two_\$name\"] = \"on\"; }");
|
eval("if (strstr(\$two_type,\$name)) { \$return_fields[0][\"two_\$name\"] = \"on\"; }");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->db->query("SELECT contact_name,contact_value FROM $this->ext_table WHERE contact_id='" . $id . "'",__LINE__,__FILE__);
|
$this->db->query("SELECT contact_name,contact_value FROM $this->ext_table WHERE contact_id='" . $id . "'",__LINE__,__FILE__);
|
||||||
while ($this->db->next_record())
|
while($this->db->next_record())
|
||||||
{
|
{
|
||||||
if ($extra_fields[$this->db->f('contact_name')])
|
if($extra_fields[$this->db->f('contact_name')])
|
||||||
{
|
{
|
||||||
$return_fields[0][$this->db->f('contact_name')] = $this->db->f('contact_value');
|
$return_fields[0][$this->db->f('contact_name')] = $this->db->f('contact_value');
|
||||||
}
|
}
|
||||||
@ -305,7 +307,10 @@
|
|||||||
if(!$limit) { $limit = 0; }
|
if(!$limit) { $limit = 0; }
|
||||||
if(!$filter) { $filter = 'tid=n'; }
|
if(!$filter) { $filter = 'tid=n'; }
|
||||||
|
|
||||||
if (!$fields || empty($fields)) { $fields = $this->stock_contact_fields; }
|
if(!$fields || empty($fields))
|
||||||
|
{
|
||||||
|
$fields = $this->stock_contact_fields;
|
||||||
|
}
|
||||||
$DEBUG = 0;
|
$DEBUG = 0;
|
||||||
|
|
||||||
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);
|
||||||
@ -345,7 +350,6 @@
|
|||||||
if ($DEBUG) { echo "<br>DEBUG - Filter strings: #phpgwcontacttypeid=n#"; }
|
if ($DEBUG) { echo "<br>DEBUG - Filter strings: #phpgwcontacttypeid=n#"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
need some way of using the lastmod arg in the filter like this:
|
need some way of using the lastmod arg in the filter like this:
|
||||||
if($lastmod >= 0)
|
if($lastmod >= 0)
|
||||||
@ -355,7 +359,6 @@
|
|||||||
or maybe not like this - i am not sure what i am doing :)
|
or maybe not like this - i am not sure what i am doing :)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
if(@is_array($this->grants))
|
if(@is_array($this->grants))
|
||||||
{
|
{
|
||||||
/* this was not listing private entries when show all was selected */
|
/* this was not listing private entries when show all was selected */
|
||||||
@ -482,15 +485,14 @@
|
|||||||
$return_fields[$j]['owner'] = $ldap_fields[$i]['phpgwcontactowner'][0];
|
$return_fields[$j]['owner'] = $ldap_fields[$i]['phpgwcontactowner'][0];
|
||||||
$return_fields[$j]['access'] = $ldap_fields[$i]['phpgwcontactaccess'][0];
|
$return_fields[$j]['access'] = $ldap_fields[$i]['phpgwcontactaccess'][0];
|
||||||
$return_fields[$j]['cat_id'] = $ldap_fields[$i]['phpgwcontactcatid'][0];
|
$return_fields[$j]['cat_id'] = $ldap_fields[$i]['phpgwcontactcatid'][0];
|
||||||
|
$return_fields[$j]['rights'] = (int)$this->grants[$return_fields[$j]['owner']];
|
||||||
|
|
||||||
if(@is_array($stock_fieldnames))
|
if(@is_array($stock_fieldnames))
|
||||||
{
|
{
|
||||||
reset($stock_fieldnames);
|
foreach($stock_fieldnames as $f_name => $f_value)
|
||||||
while (list($f_name,$f_value) = each($stock_fieldnames))
|
|
||||||
{
|
{
|
||||||
$return_fields[$j][$f_name] = utf8_decode($ldap_fields[$i][$f_value][0]);
|
$return_fields[$j][$f_name] = utf8_decode($ldap_fields[$i][$f_value][0]);
|
||||||
}
|
}
|
||||||
reset($stock_fieldnames);
|
|
||||||
}
|
}
|
||||||
$this->db->query("SELECT contact_name,contact_value FROM $this->ext_table WHERE contact_id='"
|
$this->db->query("SELECT contact_name,contact_value FROM $this->ext_table WHERE contact_id='"
|
||||||
. (int)$ldap_fields[$i]['uidnumber'] . "'",__LINE__,__FILE__);
|
. (int)$ldap_fields[$i]['uidnumber'] . "'",__LINE__,__FILE__);
|
||||||
@ -518,8 +520,7 @@
|
|||||||
if(@is_array($extra))
|
if(@is_array($extra))
|
||||||
{
|
{
|
||||||
if($DEBUG) { echo '<br>Searching...'; }
|
if($DEBUG) { echo '<br>Searching...'; }
|
||||||
reset($extra);
|
foreach($extra as $name => $value)
|
||||||
while(list($name,$value) = each($extra))
|
|
||||||
{
|
{
|
||||||
$qarray[] = array($value => $query);
|
$qarray[] = array($value => $query);
|
||||||
}
|
}
|
||||||
@ -536,11 +537,11 @@
|
|||||||
$oquery = '(|';
|
$oquery = '(|';
|
||||||
$hasor = False;
|
$hasor = False;
|
||||||
|
|
||||||
while(list($name,$value) = @each($qarray))
|
foreach($qarray as $name => $value)
|
||||||
{
|
{
|
||||||
if(@is_array($value))
|
if(@is_array($value))
|
||||||
{
|
{
|
||||||
while(list($x,$y) = each($value))
|
foreach($value as $x => $y)
|
||||||
{
|
{
|
||||||
if($y == '*')
|
if($y == '*')
|
||||||
{
|
{
|
||||||
@ -550,7 +551,7 @@
|
|||||||
elseif(@is_array($y))
|
elseif(@is_array($y))
|
||||||
{
|
{
|
||||||
/* This was most likely created from acl grants in read() above */
|
/* This was most likely created from acl grants in read() above */
|
||||||
while(list($a,$b) = each($y))
|
foreach($y as $a => $b)
|
||||||
{
|
{
|
||||||
$tmp .= '(' . $a . '=' . $b . ')';
|
$tmp .= '(' . $a . '=' . $b . ')';
|
||||||
}
|
}
|
||||||
@ -655,7 +656,7 @@
|
|||||||
$ldap_fields = '';
|
$ldap_fields = '';
|
||||||
if(@is_array($stock_fieldnames))
|
if(@is_array($stock_fieldnames))
|
||||||
{
|
{
|
||||||
while(list($name,$value)=each($stock_fieldnames))
|
foreach($stock_fieldnames as $name => $value)
|
||||||
{
|
{
|
||||||
if ($stock_fields[$name] != '')
|
if ($stock_fields[$name] != '')
|
||||||
{
|
{
|
||||||
@ -694,7 +695,7 @@
|
|||||||
|
|
||||||
if(count($extra_fields))
|
if(count($extra_fields))
|
||||||
{
|
{
|
||||||
while (list($name,$value) = each($extra_fields))
|
foreach($extra_fields as $name => $value)
|
||||||
{
|
{
|
||||||
$this->db->query("INSERT INTO $this->ext_table VALUES ('".$this->nextid."','" . $this->account_id . "','"
|
$this->db->query("INSERT INTO $this->ext_table VALUES ('".$this->nextid."','" . $this->account_id . "','"
|
||||||
. addslashes($name) . "','" . addslashes($value) . "')",__LINE__,__FILE__);
|
. addslashes($name) . "','" . addslashes($value) . "')",__LINE__,__FILE__);
|
||||||
@ -885,20 +886,20 @@
|
|||||||
|
|
||||||
/* OK, just mod the data already */
|
/* OK, just mod the data already */
|
||||||
$allfields = $stock_fieldnames + $nonfields;
|
$allfields = $stock_fieldnames + $nonfields;
|
||||||
while ( list($fname,$fvalue) = each($allfields) )
|
foreach($allfields as $fname => $fvalue)
|
||||||
{
|
{
|
||||||
/* if ($ldap_fields[0][$fvalue]) */
|
/* if ($ldap_fields[0][$fvalue]) */
|
||||||
if ($ldap_fields[0][$fvalue] && $stock_fields[$fname] && $ldap_fields[0][$fvalue][0] != $stock_fields[$fname] )
|
if($ldap_fields[0][$fvalue] && $stock_fields[$fname] && $ldap_fields[0][$fvalue][0] != $stock_fields[$fname] )
|
||||||
{
|
{
|
||||||
/* echo "<br>".$fname." => ".$fvalue." was there"; */
|
/* echo "<br>".$fname." => ".$fvalue." was there"; */
|
||||||
$err = ldap_modify($this->ldap,$dn,array($fvalue => utf8_encode($stock_fields[$fname])));
|
$err = ldap_modify($this->ldap,$dn,array($fvalue => utf8_encode($stock_fields[$fname])));
|
||||||
}
|
}
|
||||||
elseif (!$ldap_fields[0][$fvalue] && $stock_fields[$fname])
|
elseif(!$ldap_fields[0][$fvalue] && $stock_fields[$fname])
|
||||||
{
|
{
|
||||||
/* echo "<br>".$fname." not there - '".$fvalue."'"; */
|
/* echo "<br>".$fname." not there - '".$fvalue."'"; */
|
||||||
$err = ldap_mod_add($this->ldap,$dn,array($fvalue => utf8_encode($stock_fields[$fname])));
|
$err = ldap_mod_add($this->ldap,$dn,array($fvalue => utf8_encode($stock_fields[$fname])));
|
||||||
}
|
}
|
||||||
elseif ($ldap_fields[0][$fvalue] && !$stock_fields[$fname])
|
elseif($ldap_fields[0][$fvalue] && !$stock_fields[$fname])
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
echo "<br>".$fname." gone... deleting - '".$fvalue."'";
|
echo "<br>".$fname." gone... deleting - '".$fvalue."'";
|
||||||
@ -914,11 +915,11 @@
|
|||||||
|
|
||||||
//something here to update the last_mod from $GLOBALS['phpgw']->datetime->gmtnow
|
//something here to update the last_mod from $GLOBALS['phpgw']->datetime->gmtnow
|
||||||
|
|
||||||
while (list($x_name,$x_value) = each($extra_fields))
|
foreach($extra_fields as $x_name => $x_value)
|
||||||
{
|
{
|
||||||
if ($this->field_exists($id,$x_name))
|
if($this->field_exists($id,$x_name))
|
||||||
{
|
{
|
||||||
if (! $x_value)
|
if(!$x_value)
|
||||||
{
|
{
|
||||||
$this->delete_single_extra_field($id,$x_name);
|
$this->delete_single_extra_field($id,$x_name);
|
||||||
}
|
}
|
||||||
@ -944,7 +945,7 @@
|
|||||||
/* Used by admin to change ownership on account delete */
|
/* Used by admin to change ownership on account delete */
|
||||||
function change_owner($old_owner='',$new_owner='')
|
function change_owner($old_owner='',$new_owner='')
|
||||||
{
|
{
|
||||||
if (!($new_owner && $old_owner))
|
if(!($new_owner && $old_owner))
|
||||||
{
|
{
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
@ -953,9 +954,9 @@
|
|||||||
$ldap_fields = ldap_get_entries($this->ldap, $sri);
|
$ldap_fields = ldap_get_entries($this->ldap, $sri);
|
||||||
|
|
||||||
$entry = '';
|
$entry = '';
|
||||||
while (list($null,$entry) = each($ldap_fields))
|
foreach($ldap_fields as $nul => $entry)
|
||||||
{
|
{
|
||||||
$err = ldap_modify($this->ldap,$dn,array('phpgwcontactowner' => $new_owner));
|
$err = ldap_modify($this->ldap,$entry['dn'],array('phpgwcontactowner' => $new_owner));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->db->query("UPDATE $this->ext_table SET contact_owner='$new_owner' WHERE contact_owner=$owner",__LINE__,__FILE__);
|
$this->db->query("UPDATE $this->ext_table SET contact_owner='$new_owner' WHERE contact_owner=$owner",__LINE__,__FILE__);
|
||||||
@ -965,7 +966,7 @@
|
|||||||
/* This is where the real work of delete() is done, shared class file contains calling function */
|
/* This is where the real work of delete() is done, shared class file contains calling function */
|
||||||
function delete_($id)
|
function delete_($id)
|
||||||
{
|
{
|
||||||
if (!$GLOBALS['phpgw_info']['server']['ldap_contact_context'])
|
if(!$GLOBALS['phpgw_info']['server']['ldap_contact_context'])
|
||||||
{
|
{
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
@ -1000,7 +1001,7 @@
|
|||||||
$ldap_fields = ldap_get_entries($this->ldap, $sri);
|
$ldap_fields = ldap_get_entries($this->ldap, $sri);
|
||||||
|
|
||||||
$entry = '';
|
$entry = '';
|
||||||
while (list($null,$entry) = each($ldap_fields))
|
foreach($ldap_fields as $nul => $entry)
|
||||||
{
|
{
|
||||||
$err = ldap_delete($this->ldap,$entry['dn']);
|
$err = ldap_delete($this->ldap,$entry['dn']);
|
||||||
}
|
}
|
||||||
|
@ -164,9 +164,11 @@
|
|||||||
/* 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; }
|
if (!$fields || empty($fields))
|
||||||
list($stock_fields,$stock_fieldnames,$extra_fields) =
|
{
|
||||||
$this->split_stock_and_extras($fields);
|
$fields = $this->stock_contact_fields;
|
||||||
|
}
|
||||||
|
list($stock_fields,$stock_fieldnames,$extra_fields) = $this->split_stock_and_extras($fields);
|
||||||
|
|
||||||
if (count($stock_fieldnames))
|
if (count($stock_fieldnames))
|
||||||
{
|
{
|
||||||
@ -186,10 +188,10 @@
|
|||||||
$return_fields[0]['owner'] = $this->db->f('owner');
|
$return_fields[0]['owner'] = $this->db->f('owner');
|
||||||
$return_fields[0]['access'] = $this->db->f('access');
|
$return_fields[0]['access'] = $this->db->f('access');
|
||||||
$return_fields[0]['cat_id'] = $this->db->f('cat_id');
|
$return_fields[0]['cat_id'] = $this->db->f('cat_id');
|
||||||
|
$return_fields[0]['rights'] = (int)$this->grants[$this->db->f('owner')];
|
||||||
|
|
||||||
if(@is_array($stock_fieldnames))
|
if(@is_array($stock_fieldnames))
|
||||||
{
|
{
|
||||||
// while (list($f_name) = each($stock_fieldnames))
|
|
||||||
foreach($stock_fieldnames as $f_name)
|
foreach($stock_fieldnames as $f_name)
|
||||||
{
|
{
|
||||||
$return_fields[0][$f_name] = $this->db->f($f_name);
|
$return_fields[0][$f_name] = $this->db->f($f_name);
|
||||||
@ -200,8 +202,6 @@
|
|||||||
if ($this->db->f('adr_one_type'))
|
if ($this->db->f('adr_one_type'))
|
||||||
{
|
{
|
||||||
$one_type = $this->db->f('adr_one_type');
|
$one_type = $this->db->f('adr_one_type');
|
||||||
// reset($this->adr_types);
|
|
||||||
// while (list($name,$val) = each($this->adr_types))
|
|
||||||
foreach($this->adr_types as $name => $val)
|
foreach($this->adr_types as $name => $val)
|
||||||
{
|
{
|
||||||
eval("if (strstr(\$one_type,\$name)) { \$return_fields[0][\"one_\$name\"] = \"on\"; }");
|
eval("if (strstr(\$one_type,\$name)) { \$return_fields[0][\"one_\$name\"] = \"on\"; }");
|
||||||
@ -210,8 +210,6 @@
|
|||||||
if ($this->db->f('adr_two_type'))
|
if ($this->db->f('adr_two_type'))
|
||||||
{
|
{
|
||||||
$two_type = $this->db->f('adr_two_type');
|
$two_type = $this->db->f('adr_two_type');
|
||||||
// reset($this->adr_types);
|
|
||||||
// while (list($name,$val) = each($this->adr_types))
|
|
||||||
foreach($this->adr_types as $name => $val)
|
foreach($this->adr_types as $name => $val)
|
||||||
{
|
{
|
||||||
eval("if (strstr(\$two_type,\$name)) { \$return_fields[0][\"two_\$name\"] = \"on\"; }");
|
eval("if (strstr(\$two_type,\$name)) { \$return_fields[0][\"two_\$name\"] = \"on\"; }");
|
||||||
@ -258,10 +256,10 @@
|
|||||||
$return_fields[0]['owner'] = $this->db->f('owner');
|
$return_fields[0]['owner'] = $this->db->f('owner');
|
||||||
$return_fields[0]['access'] = $this->db->f('access');
|
$return_fields[0]['access'] = $this->db->f('access');
|
||||||
$return_fields[0]['cat_id'] = $this->db->f('cat_id');
|
$return_fields[0]['cat_id'] = $this->db->f('cat_id');
|
||||||
|
$return_fields[0]['rights'] = (int)$this->grants[$this->db->f('owner')];
|
||||||
|
|
||||||
if (@is_array($stock_fieldnames))
|
if (@is_array($stock_fieldnames))
|
||||||
{
|
{
|
||||||
// while (list($f_name) = each($stock_fieldnames))
|
|
||||||
foreach($stock_fieldnames as $f_name)
|
foreach($stock_fieldnames as $f_name)
|
||||||
{
|
{
|
||||||
$return_fields[0][$f_name] = $this->db->f($f_name);
|
$return_fields[0][$f_name] = $this->db->f($f_name);
|
||||||
@ -269,21 +267,17 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Setup address type fields for ui forms display */
|
/* Setup address type fields for ui forms display */
|
||||||
if ($this->db->f('adr_one_type'))
|
if($this->db->f('adr_one_type'))
|
||||||
{
|
{
|
||||||
$one_type = $this->db->f('adr_one_type');
|
$one_type = $this->db->f('adr_one_type');
|
||||||
// reset($this->adr_types);
|
|
||||||
// while (list($name,$val) = each($this->adr_types))
|
|
||||||
foreach($this->adr_types as $name => $val)
|
foreach($this->adr_types as $name => $val)
|
||||||
{
|
{
|
||||||
eval("if (strstr(\$one_type,\$name)) { \$return_fields[0][\"one_\$name\"] = \"on\"; }");
|
eval("if (strstr(\$one_type,\$name)) { \$return_fields[0][\"one_\$name\"] = \"on\"; }");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($this->db->f('adr_two_type'))
|
if($this->db->f('adr_two_type'))
|
||||||
{
|
{
|
||||||
$two_type = $this->db->f('adr_two_type');
|
$two_type = $this->db->f('adr_two_type');
|
||||||
// reset($this->adr_types);
|
|
||||||
// while (list($name,$val) = each($this->adr_types))
|
|
||||||
foreach($this->adr_types as $name => $val)
|
foreach($this->adr_types as $name => $val)
|
||||||
{
|
{
|
||||||
eval("if (strstr(\$two_type,\$name)) { \$return_fields[0][\"two_\$name\"] = \"on\"; }");
|
eval("if (strstr(\$two_type,\$name)) { \$return_fields[0][\"two_\$name\"] = \"on\"; }");
|
||||||
@ -353,8 +347,6 @@
|
|||||||
|
|
||||||
/* now check each element of the array and convert into SQL for queries below */
|
/* now check each element of the array and convert into SQL for queries below */
|
||||||
$i = 0;
|
$i = 0;
|
||||||
// reset($filterfields);
|
|
||||||
// while (list($name,$value) = each($filterfields))
|
|
||||||
foreach($filterfields as $name => $value)
|
foreach($filterfields as $name => $value)
|
||||||
{
|
{
|
||||||
if ($DEBUG) { echo '<br>DEBUG - Filter intermediate strings 2: #'.$name.'# => #'.$value.'#'; }
|
if ($DEBUG) { echo '<br>DEBUG - Filter intermediate strings 2: #'.$name.'# => #'.$value.'#'; }
|
||||||
@ -362,7 +354,6 @@
|
|||||||
if ($name && empty($value))
|
if ($name && empty($value))
|
||||||
{
|
{
|
||||||
if ($DEBUG) { echo '<br>DEBUG - filter field "'.$name.'" is empty (NULL)'; }
|
if ($DEBUG) { echo '<br>DEBUG - filter field "'.$name.'" is empty (NULL)'; }
|
||||||
// while (list($fname,$fvalue)=each($check_stock))
|
|
||||||
foreach($check_stock as $fname => $fvalue)
|
foreach($check_stock as $fname => $fvalue)
|
||||||
{
|
{
|
||||||
if($fvalue == $name)
|
if($fvalue == $name)
|
||||||
@ -375,8 +366,6 @@
|
|||||||
}
|
}
|
||||||
elseif($name && $value)
|
elseif($name && $value)
|
||||||
{
|
{
|
||||||
// reset($check_stock);
|
|
||||||
// while (list($fname,$fvalue)=each($check_stock))
|
|
||||||
foreach($check_stock as $fname => $fvalue)
|
foreach($check_stock as $fname => $fvalue)
|
||||||
{
|
{
|
||||||
if($fvalue == $name)
|
if($fvalue == $name)
|
||||||
@ -448,8 +437,7 @@
|
|||||||
if(@is_array($this->grants))
|
if(@is_array($this->grants))
|
||||||
{
|
{
|
||||||
$grants = $this->grants;
|
$grants = $this->grants;
|
||||||
// while (list($user) = each($grants))
|
foreach($grants as $user => $_right)
|
||||||
foreach($grants as $user)
|
|
||||||
{
|
{
|
||||||
$public_user_list[] = $user;
|
$public_user_list[] = $user;
|
||||||
}
|
}
|
||||||
@ -585,10 +573,10 @@
|
|||||||
$return_fields[$i]['access'] = $this->db->f('access');
|
$return_fields[$i]['access'] = $this->db->f('access');
|
||||||
$return_fields[$i]['cat_id'] = $this->db->f('cat_id');
|
$return_fields[$i]['cat_id'] = $this->db->f('cat_id');
|
||||||
$return_fields[$i]['last_mod'] = $this->db->f('last_mod');
|
$return_fields[$i]['last_mod'] = $this->db->f('last_mod');
|
||||||
|
$return_fields[$i]['rights'] = (int)$this->grants[$this->db->f('owner')];
|
||||||
|
|
||||||
if(@is_array($stock_fieldnames))
|
if(@is_array($stock_fieldnames))
|
||||||
{
|
{
|
||||||
// while(list($f_name) = each($stock_fieldnames))
|
|
||||||
foreach($stock_fieldnames as $f_name)
|
foreach($stock_fieldnames as $f_name)
|
||||||
{
|
{
|
||||||
$return_fields[$i][$f_name] = $this->db->f($f_name);
|
$return_fields[$i][$f_name] = $this->db->f($f_name);
|
||||||
@ -648,7 +636,6 @@
|
|||||||
|
|
||||||
if(count($extra_fields))
|
if(count($extra_fields))
|
||||||
{
|
{
|
||||||
// while (list($name,$value) = each($extra_fields))
|
|
||||||
foreach($extra_fields as $name => $value)
|
foreach($extra_fields as $name => $value)
|
||||||
{
|
{
|
||||||
$this->db->query("INSERT INTO $this->ext_table VALUES ('$id','" . $owner . "','"
|
$this->db->query("INSERT INTO $this->ext_table VALUES ('$id','" . $owner . "','"
|
||||||
@ -719,7 +706,6 @@
|
|||||||
$this->db->query($sql="UPDATE $this->std_table SET $fields_s WHERE "
|
$this->db->query($sql="UPDATE $this->std_table SET $fields_s WHERE "
|
||||||
. "id=$id",__LINE__,__FILE__);
|
. "id=$id",__LINE__,__FILE__);
|
||||||
}
|
}
|
||||||
// while (list($x_name,$x_value) = @each($extra_fields))
|
|
||||||
foreach($extra_fields as $x_name => $x_value)
|
foreach($extra_fields as $x_name => $x_value)
|
||||||
{
|
{
|
||||||
if ($this->field_exists($id,$x_name))
|
if ($this->field_exists($id,$x_name))
|
||||||
|
Loading…
Reference in New Issue
Block a user