2 /**********************************************************************
3 Copyright (C) FrontAccounting, LLC.
4 Released under the terms of the GNU General Public License, GPL,
5 as published by the Free Software Foundation, either version 3
6 of the License, or (at your option) any later version.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12 include_once($path_to_root . "/includes/db/references_db.inc");
17 function save($type, $id, $reference)
19 add_reference($type, $id, $reference);
21 references::save_last($reference, $type);
24 function get($type, $id)
26 return get_reference($type, $id);
29 function delete($type, $id)
31 delete_reference($type, $id);
34 function exists($type, $reference)
36 return (find_reference($type, $reference) != null);
39 function save_last($reference, $type)
41 $next = references::increment($reference);
42 save_next_reference($type, $next);
45 function get_next($type)
47 return get_next_reference($type);
50 //------------------------------------
52 function is_valid($reference)
54 return strlen(trim($reference)) > 0;
57 function increment($reference)
59 if (is_numeric($reference))
60 return $reference + 1;
65 //------------------------------------
68 //----------------------------------------------------------------------------
70 function is_new_reference($ref, $type)
72 $db_info = get_systype_db_info($type);
73 $db_name = $db_info[0];
74 $db_type = $db_info[1];
75 $db_ref = $db_info[3];
79 $sql = "SELECT $db_ref FROM $db_name WHERE $db_ref='$ref'";
81 $sql .= " AND $db_type=$type";
83 $result = db_query($sql, "could not test for unique reference");
85 return (db_num_rows($result) == 0);
88 // it's a type that doesn't use references - shouldn't be calling here, but say yes anyways