diff --git a/phpgwapi/inc/class.common.inc.php b/phpgwapi/inc/class.common.inc.php
index eb0691c4c3..568faeda7f 100644
--- a/phpgwapi/inc/class.common.inc.php
+++ b/phpgwapi/inc/class.common.inc.php
@@ -25,18 +25,20 @@
/* $Id$ */
- $d1 = strtolower(substr($phpgw_info['server']['api_inc'],0,3));
- $d2 = strtolower(substr($phpgw_info['server']['server_root'],0,3));
- $d3 = strtolower(substr($phpgw_info['server']['app_inc'],0,3));
- if($d1 == 'htt' || $d1 == 'ftp' || $d2 == 'htt' || $d2 == 'ftp' || $d3 == 'htt' || $d3 == 'ftp') {
- echo 'Failed attempt to break in via an old Security Hole!
'."\n";
- exit;
- } unset($d1);unset($d2);unset($d3);
-
- /*!
- @class common
- @abstract common class that contains commonly used functions
- */
+ $d1 = strtolower(substr($phpgw_info['server']['api_inc'],0,3));
+ $d2 = strtolower(substr($phpgw_info['server']['server_root'],0,3));
+ $d3 = strtolower(substr($phpgw_info['server']['app_inc'],0,3));
+ if($d1 == 'htt' || $d1 == 'ftp' || $d2 == 'htt' || $d2 == 'ftp' || $d3 == 'htt' || $d3 == 'ftp')
+ {
+ echo 'Failed attempt to break in via an old Security Hole!
'."\n";
+ exit;
+ }
+ unset($d1);unset($d2);unset($d3);
+
+ /*!
+ @class common
+ @abstract common class that contains commonly used functions
+ */
class common
{
var $phpgw;
@@ -96,7 +98,6 @@
return $s;
}
-
// This is used for searching the access fields
/*!
@function sql_search
@@ -125,67 +126,67 @@
return $s;
}
- // return a array of installed languages
+ // return a array of installed languages
/*!
@function getInstalledLanguages
@abstract return an array of installed languages
@result $installedLanguages; an array containing the installed languages
*/
- function getInstalledLanguages()
- {
- global $phpgw;
-
- $phpgw->db->query('select distinct lang from lang');
- while (@$phpgw->db->next_record())
- {
- $installedLanguages[$phpgw->db->f('lang')] = $phpgw->db->f('lang');
- }
-
- return $installedLanguages;
- }
+ function getInstalledLanguages()
+ {
+ global $phpgw;
- // return the preferred language of the users
- // it's using HTTP_ACCEPT_LANGUAGE (send from the users browser)
- // and ...(to find out which languages are installed)
+ $phpgw->db->query('select distinct lang from lang');
+ while (@$phpgw->db->next_record())
+ {
+ $installedLanguages[$phpgw->db->f('lang')] = $phpgw->db->f('lang');
+ }
+
+ return $installedLanguages;
+ }
+
+ // return the preferred language of the users
+ // it's using HTTP_ACCEPT_LANGUAGE (send from the users browser)
+ // and ...(to find out which languages are installed)
/*!
@function getPreferredLanguage
@abstract return the preferred langugae of the users
@discussion it uses HTTP_ACCEPT_LANGUAGE (from the users browser)
and .... to find out which languages are installed
*/
- function getPreferredLanguage()
- {
- global $HTTP_ACCEPT_LANGUAGE;
-
- // create a array of languages the user is accepting
- $userLanguages = explode(',',$HTTP_ACCEPT_LANGUAGE);
- $supportedLanguages = $this->getInstalledLanguages();
+ function getPreferredLanguage()
+ {
+ global $HTTP_ACCEPT_LANGUAGE;
- // find usersupported language
- while (list($key,$value) = each($userLanguages))
- {
- // remove everything behind '-' example: de-de
- $value = trim($value);
- $pieces = explode('-', $value);
- $value = $pieces[0];
- # print 'current lang $value
';
- if ($supportedLanguages[$value])
- {
- $retValue=$value;
- break;
- }
- }
+ // create a array of languages the user is accepting
+ $userLanguages = explode(',',$HTTP_ACCEPT_LANGUAGE);
+ $supportedLanguages = $this->getInstalledLanguages();
- // no usersupported language found -> return english
- if (empty($retValue))
- {
- $retValue='en';
- }
-
- return $retValue;
- }
+ // find usersupported language
+ while (list($key,$value) = each($userLanguages))
+ {
+ // remove everything behind '-' example: de-de
+ $value = trim($value);
+ $pieces = explode('-', $value);
+ $value = $pieces[0];
+ # print 'current lang $value
';
+ if ($supportedLanguages[$value])
+ {
+ $retValue=$value;
+ break;
+ }
+ }
- // connect to the ldap server and return a handle
+ // no usersupported language found -> return english
+ if (empty($retValue))
+ {
+ $retValue='en';
+ }
+
+ return $retValue;
+ }
+
+ // connect to the ldap server and return a handle
/*!
@function ldapConnect
@abstract connect to the ldap server and return a handle
@@ -193,40 +194,44 @@
@param $dn ldap_root_dn
@param $passwd ldap_root_pw
*/
- function ldapConnect($host = '', $dn = '', $passwd = '')
- {
- global $phpgw_info;
-
- if (! $host) {
- $host = $phpgw_info['server']['ldap_host'];
- }
+ function ldapConnect($host = '', $dn = '', $passwd = '')
+ {
+ global $phpgw_info;
- if (! $dn) {
- $dn = $phpgw_info['server']['ldap_root_dn'];
- }
+ if (! $host)
+ {
+ $host = $phpgw_info['server']['ldap_host'];
+ }
- if (! $passwd) {
- $passwd = $phpgw_info['server']['ldap_root_pw'];
- }
+ if (! $dn)
+ {
+ $dn = $phpgw_info['server']['ldap_root_dn'];
+ }
-
- // connect to ldap server
- if (! $ds = ldap_connect($host)) {
- printf("Error: Can't connect to LDAP server %s!
",$host);
- return False;
- }
+ if (! $passwd)
+ {
+ $passwd = $phpgw_info['server']['ldap_root_pw'];
+ }
- // bind as admin, we not to able to do everything
- if (! ldap_bind($ds,$dn,$passwd)) {
- printf("Error: Can't bind to LDAP server: %s!
",$dn);
- return False;
- }
+ // connect to ldap server
+ if (! $ds = ldap_connect($host))
+ {
+ printf("Error: Can't connect to LDAP server %s!
",$host);
+ return False;
+ }
- return $ds;
- }
+ // bind as admin, we not to able to do everything
+ if (! ldap_bind($ds,$dn,$passwd))
+ {
+ printf("Error: Can't bind to LDAP server: %s!
",$dn);
+ return False;
+ }
- // This function is used if the developer wants to stop a running app in the middle of execution
- // We may need to do some clean up before hand
+ return $ds;
+ }
+
+ // This function is used if the developer wants to stop a running app in the middle of execution
+ // We may need to do some clean up before hand
/*!
@function phpgw_exit
@abstract function to stop running an app
@@ -234,35 +239,37 @@
There may need to be some cleanup before hand
@param $call_footer boolean value to if true then call footer else exit
*/
- function phpgw_exit($call_footer = False)
- {
- global $phpgw;
+ function phpgw_exit($call_footer = False)
+ {
+ global $phpgw;
- if ($call_footer) {
- $this->phpgw_footer();
- }
- $phpgw->db->disconnect();
- exit;
- }
+ if ($call_footer)
+ {
+ $this->phpgw_footer();
+ }
+ $phpgw->db->disconnect();
+ exit;
+ }
/*!
@function randomstring
@abstract return a random string of size $size
@param $size int-size of random string to return
*/
- function randomstring($size)
- {
- $s = '';
- srand((double)microtime()*1000000);
- $random_char = array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f',
- 'g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v',
- 'w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L',
- 'M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
+ function randomstring($size)
+ {
+ $s = '';
+ srand((double)microtime()*1000000);
+ $random_char = array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f',
+ 'g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v',
+ 'w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L',
+ 'M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
- for ($i=0; $i<$size; $i++) {
- $s .= $random_char[rand(1,61)];
- }
- return $s;
- }
+ for ($i=0; $i<$size; $i++)
+ {
+ $s .= $random_char[rand(1,61)];
+ }
+ return $s;
+ }
// Look at the note towards the top of this file (jengo)
function filesystem_separator()
@@ -299,7 +306,7 @@
@param $label ?
@param $extravars
*/
- // This is a depreciated function - use ACL instead (jengo)
+ // This is a depreciated function - use ACL instead (jengo)
function check_owner($record,$link,$label,$extravars = '')
{
global $phpgw, $phpgw_info;
@@ -322,7 +329,7 @@
}
return $s;
- }
+ }
/*!
@function display_fullname
@@ -345,7 +352,7 @@
{
$a[] = $lastname;
}
-
+
if ($firstname)
{
$a[] = $firstname;
@@ -377,17 +384,18 @@
@abstract grab the owner name
@param $id account id
*/
- function grab_owner_name($accountid = '')
- {
- global $phpgw;
+ function grab_owner_name($accountid = '')
+ {
+ global $phpgw;
- $account_id = get_account_id($accountid);
- $db = $phpgw->db;
- $db->query('select account_lid,account_firstname,account_lastname from phpgw_accounts where account_id='.$account_id,__LINE__,__FILE__);
- $db->next_record();
+ $account_id = get_account_id($accountid);
+ $db = $phpgw->db;
+ $db->query('select account_lid,account_firstname,account_lastname from phpgw_accounts where account_id='.$account_id,__LINE__,__FILE__);
+ $db->next_record();
+
+ return $phpgw->common->display_fullname($db->f('account_lid'),$db->f('account_firstname'),$db->f('account_lastname'));
+ }
- return $phpgw->common->display_fullname($db->f('account_lid'),$db->f('account_firstname'),$db->f('account_lastname'));
- }
/*!
@function create_tabs
@abstract create tabs
@@ -395,221 +403,294 @@
@param $selected ?
@param $fontsize optional
*/
- function create_tabs($tabs, $selected, $fontsize = '')
- {
- global $phpgw_info;
- $output_text = '
'; - } - - $output_text .= ' | ' . $fs . $tab[1]['label'] - . $fse . ' | '; - if ($i == count($tabs)) { - $output_text .= ''; - } else { - $output_text .= ' | '; - } - } else { - if ($i == 1) { - $output_text .= ' | '; - } - $output_text .= ' | ' . $fs . $tab[1]['label'] . $fse - . ' | '; - if (($i + 1) == $selected) { - $output_text .= ''; - } else if ($i == $selected || $i != count($tabs)) { - $output_text .= ' | '; - } else if ($i == count($tabs)) { - if ($i == $selected) { - $output_text .= ' | '; - } else { - $output_text .= ' | '; - } - } else { - if ($i != count($tabs)) { - $output_text .= ' | '; - } - } - } - $i++; - $output_text .= "\n"; - } - $output_text .= " |
'
- . lang('Error deleting x x directory',lang('users'),' '.lang('private').' ')
- . ',
' . lang('Please x by hand',lang('delete')) . '
'
- . lang('To correct this error for the future you will need to properly set the')
- . '
' . lang('permissions to the files/users directory')
- . '
' . lang('On *nix systems please type: x','chmod 770 '
- . $phpgw_info['server']['files_dir'] . '/users/');
- break;
- case 35: $s .= lang('Account has been updated') . '
'
- . lang('Error renaming x x directory',lang('users'),
- ' '.lang('private').' ')
- . ',
' . lang('Please x by hand',
- lang('rename')) . '
'
- . lang('To correct this error for the future you will need to properly set the')
- . '
' . lang('permissions to the files/users directory')
- . '
' . lang('On *nix systems please type: x','chmod 770 '
- . $phpgw_info['server']['files_dir'] . '/users/');
- break;
- case 36: $s .= lang('Account has been created') . '
'
- . lang('Error creating x x directory',lang('users'),
- ' '.lang('private').' ')
- . ',
' . lang('Please x by hand',
- lang('create')) . '
'
- . lang('To correct this error for the future you will need to properly set the')
- . '
' . lang('permissions to the files/users directory')
- . '
' . lang('On *nix systems please type: x','chmod 770 '
- . $phpgw_info['server']['files_dir'] . '/users/');
- break;
- case 37: $s .= lang('Group has been added') . '
'
- . lang('Error creating x x directory',lang('groups'),' ')
- . ',
' . lang('Please x by hand',
- lang('create')) . '
'
- . lang('To correct this error for the future you will need to properly set the')
- . '
' . lang('permissions to the files/users directory')
- . '
' . lang('On *nix systems please type: x','chmod 770 '
- . $phpgw_info['server']['files_dir'] . '/groups/');
- break;
- case 38: $s .= lang('Group has been deleted') . '
'
- . lang('Error deleting x x directory',lang('groups'),' ')
- . ',
' . lang('Please x by hand',
- lang('delete')) . '
'
- . lang('To correct this error for the future you will need to properly set the')
- . '
' . lang('permissions to the files/users directory')
- . '
' . lang('On *nix systems please type: x','chmod 770 '
- . $phpgw_info['server']['files_dir'] . '/groups/');
- break;
- case 39: $s .= lang('Group has been updated') . '
'
- . lang('Error renaming x x directory',lang('groups'),' ')
- . ',
' . lang('Please x by hand',
- lang('rename')) . '
'
- . lang('To correct this error for the future you will need to properly set the')
- . '
' . lang('permissions to the files/users directory')
- . '
' . lang('On *nix systems please type: x','chmod 770 '
- . $phpgw_info['server']['files_dir'] . '/groups/');
- break;
- case 40: $s .= lang("You have not entered a title").'.';
- break;
- case 41: $s .= lang("You have not entered a valid time of day").'.';
- break;
- case 42: $s .= lang("You have not entered a valid date").'.';
- break;
- default: return '';
- }
- return $s;
- }
+ function check_code($code)
+ {
+ $s = '
';
+ switch ($code)
+ {
+ case 13: $s .= lang('Your message has been sent');break;
+ case 14: $s .= lang('New entry added sucessfully');break;
+ case 15: $s .= lang('Entry updated sucessfully'); break;
+ case 16: $s .= lang('Entry has been deleted sucessfully'); break;
+ case 18: $s .= lang('Password has been updated'); break;
+ case 38: $s .= lang('Password could not be changed'); break;
+ case 19: $s .= lang('Session has been killed'); break;
+ case 27: $s .= lang('Account has been updated'); break;
+ case 28: $s .= lang('Account has been created'); break;
+ case 29: $s .= lang('Account has been deleted'); break;
+ case 30: $s .= lang('Your settings have been updated'); break;
+ case 31: $s .= lang('Group has been added'); break;
+ case 32: $s .= lang('Group has been deleted'); break;
+ case 33: $s .= lang('Group has been updated'); break;
+ case 34: $s .= lang('Account has been deleted') . '
'
+ . lang('Error deleting x x directory',lang('users'),' '.lang('private').' ')
+ . ',
' . lang('Please x by hand',lang('delete')) . '
'
+ . lang('To correct this error for the future you will need to properly set the')
+ . '
' . lang('permissions to the files/users directory')
+ . '
' . lang('On *nix systems please type: x','chmod 770 '
+ . $phpgw_info['server']['files_dir'] . '/users/');
+ break;
+ case 35: $s .= lang('Account has been updated') . '
'
+ . lang('Error renaming x x directory',lang('users'),
+ ' '.lang('private').' ')
+ . ',
' . lang('Please x by hand',
+ lang('rename')) . '
'
+ . lang('To correct this error for the future you will need to properly set the')
+ . '
' . lang('permissions to the files/users directory')
+ . '
' . lang('On *nix systems please type: x','chmod 770 '
+ . $phpgw_info['server']['files_dir'] . '/users/');
+ break;
+ case 36: $s .= lang('Account has been created') . '
'
+ . lang('Error creating x x directory',lang('users'),
+ ' '.lang('private').' ')
+ . ',
' . lang('Please x by hand',
+ lang('create')) . '
'
+ . lang('To correct this error for the future you will need to properly set the')
+ . '
' . lang('permissions to the files/users directory')
+ . '
' . lang('On *nix systems please type: x','chmod 770 '
+ . $phpgw_info['server']['files_dir'] . '/users/');
+ break;
+ case 37: $s .= lang('Group has been added') . '
'
+ . lang('Error creating x x directory',lang('groups'),' ')
+ . ',
' . lang('Please x by hand',
+ lang('create')) . '
'
+ . lang('To correct this error for the future you will need to properly set the')
+ . '
' . lang('permissions to the files/users directory')
+ . '
' . lang('On *nix systems please type: x','chmod 770 '
+ . $phpgw_info['server']['files_dir'] . '/groups/');
+ break;
+ case 38: $s .= lang('Group has been deleted') . '
'
+ . lang('Error deleting x x directory',lang('groups'),' ')
+ . ',
' . lang('Please x by hand',
+ lang('delete')) . '
'
+ . lang('To correct this error for the future you will need to properly set the')
+ . '
' . lang('permissions to the files/users directory')
+ . '
' . lang('On *nix systems please type: x','chmod 770 '
+ . $phpgw_info['server']['files_dir'] . '/groups/');
+ break;
+ case 39: $s .= lang('Group has been updated') . '
'
+ . lang('Error renaming x x directory',lang('groups'),' ')
+ . ',
' . lang('Please x by hand',
+ lang('rename')) . '
'
+ . lang('To correct this error for the future you will need to properly set the')
+ . '
' . lang('permissions to the files/users directory')
+ . '
' . lang('On *nix systems please type: x','chmod 770 '
+ . $phpgw_info['server']['files_dir'] . '/groups/');
+ break;
+ case 40: $s .= lang('You have not entered a title').'.';
+ break;
+ case 41: $s .= lang('You have not entered a valid time of day').'.';
+ break;
+ case 42: $s .= lang('You have not entered a valid date').'.';
+ break;
+ default: return '';
+ }
+ return $s;
+ }
/*!
- @fucntion phpgw_error
+ @function phpgw_error
@abstract process error message
@param $error error
@param $line line
@param $file file
- */
- function phpgw_error($error,$line = '', $file = '')
- {
- echo '
phpGroupWare internal error:
'.$error; - if ($line) { - echo 'Line: '.$line; - } - if ($file) { - echo 'File: '.$file; - } - echo '
Your session has been halted.'; - exit; - } + */ + function phpgw_error($error,$line = '', $file = '') + { + echo '
phpGroupWare internal error:
'.$error; + if ($line) + { + echo 'Line: '.$line; + } + if ($file) + { + echo 'File: '.$file; + } + echo '
Your session has been halted.';
+ exit;
+ }
/*!
@function create_phpcode_from_array
@abstract create phpcode from array
@param $array - array
*/
- function create_phpcode_from_array($array)
- {
- while (list($key, $val) = each($array)) {
- if (is_array($val)) {
- while (list($key2, $val2) = each($val)) {
- if (is_array($val2)) {
- while (list($key3, $val3) = each ($val2)) {
- if (is_array($val3)) {
- while (list($key4, $val4) = each ($val3)) {
- $s .= '$phpgw_info["' . $key . '"]["' . $key2 . '"]["' . $key3 . '"]["' .$key4 . '"]="' . $val4 . '";';
- $s .= "\n";
- }
- } else {
- $s .= '$phpgw_info["' . $key . '"]["' . $key2 . '"]["' . $key3 . '"]="' . $val3 . '";';
- $s .= "\n";
- }
- }
- } else {
- $s .= '$phpgw_info["' . $key .'"]["' . $key2 . '"]="' . $val2 . '";';
- $s .= "\n";
- }
- }
- } else {
- $s .= '$phpgw_info["' . $key . '"]="' . $val . '";';
- $s .= "\n";
- }
- }
- return $s;
- }
+ function create_phpcode_from_array($array)
+ {
+ while (list($key, $val) = each($array))
+ {
+ if (is_array($val))
+ {
+ while (list($key2, $val2) = each($val))
+ {
+ if (is_array($val2))
+ {
+ while (list($key3, $val3) = each ($val2))
+ {
+ if (is_array($val3))
+ {
+ while (list($key4, $val4) = each ($val3))
+ {
+ $s .= '$phpgw_info["' . $key . '"]["' . $key2 . '"]["' . $key3 . '"]["' .$key4 . '"]="' . $val4 . '";';
+ $s .= "\n";
+ }
+ }
+ else
+ {
+ $s .= '$phpgw_info["' . $key . '"]["' . $key2 . '"]["' . $key3 . '"]="' . $val3 . '";';
+ $s .= "\n";
+ }
+ }
+ }
+ else
+ {
+ $s .= '$phpgw_info["' . $key .'"]["' . $key2 . '"]="' . $val2 . '";';
+ $s .= "\n";
+ }
+ }
+ }
+ else
+ {
+ $s .= '$phpgw_info["' . $key . '"]="' . $val . '";';
+ $s .= "\n";
+ }
+ }
+ return $s;
+ }
-
- // This will return the full phpgw_info array, used for debugging
+ // This will return the full phpgw_info array, used for debugging
/*!
@function debug_list_array_contents
@abstract return the full phpgw_info array for debugging
@param array - array
- */
- function debug_list_array_contents($array)
- {
- while (list($key, $val) = each($array)) {
- if (is_array($val)) {
- while (list($key2, $val2) = each($val)) {
- if (is_array($val2)) {
- while (list($key3, $val3) = each ($val2)) {
- if (is_array($val3)) {
- while (list($key4, $val4) = each ($val3)) {
- echo $$array . "[$key][$key2][$key3][$key4]=$val4
";
- }
- } else {
- echo $$array . "[$key][$key2][$key3]=$val3
";
- }
- }
- } else {
- echo $$array . "[$key][$key2]=$val2
";
- }
- }
- } else {
- echo $$array . "[$key]=$val
";
- }
- }
- }
-
- // This will return a list of functions in the API
+ */
+ function debug_list_array_contents($array)
+ {
+ while (list($key, $val) = each($array))
+ {
+ if (is_array($val))
+ {
+ while (list($key2, $val2) = each($val))
+ {
+ if (is_array($val2))
+ {
+ while (list($key3, $val3) = each ($val2))
+ {
+ if (is_array($val3))
+ {
+ while (list($key4, $val4) = each ($val3))
+ {
+ echo $$array . "[$key][$key2][$key3][$key4]=$val4
";
+ }
+ }
+ else
+ {
+ echo $$array . "[$key][$key2][$key3]=$val3
";
+ }
+ }
+ }
+ else
+ {
+ echo $$array . "[$key][$key2]=$val2
";
+ }
+ }
+ }
+ else
+ {
+ echo $$array . "[$key]=$val
";
+ }
+ }
+ }
+
+ // This will return a list of functions in the API
/*!
@function debug_list_core_functions
@abstract return a list of functionsin the API
*/
-
- function debug_list_core_functions()
- {
- echo '
core functions
';
- echo '
'; - chdir(PHPGW_INCLUDE_ROOT . '/phpgwapi'); - system("grep -r '^[ \t]*function' *"); - echo ''; - } + function debug_list_core_functions() + { + echo '
'; + chdir(PHPGW_INCLUDE_ROOT . '/phpgwapi'); + system("grep -r '^[ \t]*function' *"); + echo ''; + } - // This will return a value for the next id an app/class may need to insert values into ldap. + // This will return a value for the next id an app/class may need to insert values into ldap. /*! @function next_id @abstract return the next higher value for an integer, and increment it in the db. */ - function next_id($appname,$min=0,$max=0) - { - global $phpgw; + function next_id($appname,$min=0,$max=0) + { + global $phpgw; - if (!$appname) { - return -1; + if (!$appname) + { + return -1; + } + + $phpgw->db->query("SELECT id FROM phpgw_nextid WHERE appname='".$appname."'",__LINE__,__FILE__); + while( $phpgw->db->next_record() ) + { + $id = $phpgw->db->f("id"); + } + + if (empty($id) || !$id) + { + $id = 1; + $phpgw->db->query("INSERT INTO phpgw_nextid (appname,id) VALUES ('".$appname."',".$id.")",__LINE__,__FILE__); + } + elseif($id<$min) + { + $id = $min; + $phpgw->db->query("UPDATE phpgw_nextid SET id=".$id." WHERE appname='".$appname."'",__LINE__,__FILE__); + } + elseif ($max && ($id > $max)) + { + return False; + } + else + { + $id = $id + 1; + $phpgw->db->query("UPDATE phpgw_nextid SET id=".$id." WHERE appname='".$appname."'",__LINE__,__FILE__); + } + + return intval($id); } - $phpgw->db->query("SELECT id FROM phpgw_nextid WHERE appname='".$appname."'",__LINE__,__FILE__); - while( $phpgw->db->next_record() ) { - $id = $phpgw->db->f("id"); - } - - if (empty($id) || !$id) { - $id = 1; - $phpgw->db->query("INSERT INTO phpgw_nextid (appname,id) VALUES ('".$appname."',".$id.")",__LINE__,__FILE__); - } elseif($id<$min) { - $id = $min; - $phpgw->db->query("UPDATE phpgw_nextid SET id=".$id." WHERE appname='".$appname."'",__LINE__,__FILE__); - } elseif ($max && ($id > $max)) { - return False; - } else { - $id = $id + 1; - $phpgw->db->query("UPDATE phpgw_nextid SET id=".$id." WHERE appname='".$appname."'",__LINE__,__FILE__); - } - - return intval($id); - } - - // This will return a value for the last id entered, which an app may need to check - // values for ldap. + // This will return a value for the last id entered, which an app may need to check + // values for ldap. /*! @function last_id @abstract return the current id in the next_id table for a particular app/class. */ - function last_id($appname,$min=0,$max=0) - { - global $phpgw; + function last_id($appname,$min=0,$max=0) + { + global $phpgw; - if (!$appname) { - return -1; - } + if (!$appname) + { + return -1; + } - $phpgw->db->query("SELECT id FROM phpgw_nextid WHERE appname='".$appname."'",__LINE__,__FILE__); - while( $phpgw->db->next_record() ) { - $id = $phpgw->db->f("id"); - } + $phpgw->db->query("SELECT id FROM phpgw_nextid WHERE appname='".$appname."'",__LINE__,__FILE__); + while( $phpgw->db->next_record() ) + { + $id = $phpgw->db->f("id"); + } - if (empty($id) || !$id) { - if($min) { $id = $min; } - else { $id = 1; } - $phpgw->db->query("INSERT INTO phpgw_nextid (appname,id) VALUES ('".$appname."',".$id.")",__LINE__,__FILE__); - } elseif($id<$min) { - $id = $min; - $phpgw->db->query("UPDATE phpgw_nextid SET id=".$id." WHERE appname='".$appname."'",__LINE__,__FILE__); - } elseif ($max && ($id > $max)) { - return False; - } else { - return intval($id); + if (empty($id) || !$id) + { + if($min) + { + $id = $min; + } + else + { + $id = 1; + } + $phpgw->db->query("INSERT INTO phpgw_nextid (appname,id) VALUES ('".$appname."',".$id.")",__LINE__,__FILE__); + } + elseif($id<$min) + { + $id = $min; + $phpgw->db->query("UPDATE phpgw_nextid SET id=".$id." WHERE appname='".$appname."'",__LINE__,__FILE__); + } + elseif ($max && ($id > $max)) + { + return False; + } + else + { + return intval($id); + } } - } - }//end common class + }//end common class